### Question:
PointShifts implements ScenarioPerturbation<ParameterizedData>, ImmutableBean, Serializable { public static PointShiftsBuilder builder(ShiftType shiftType) { return new PointShiftsBuilder(shiftType); } PointShifts(
      ShiftType shiftType,
      DoubleMatrix shifts,
      List<Object> nodeIdentifiers);   PointShifts(
      ShiftType shiftType,
      DoubleMatrix shifts,
      Map<Object, Integer> nodeIndices); static PointShiftsBuilder builder(ShiftType shiftType); @Override MarketDataBox<ParameterizedData> applyTo(
      MarketDataBox<ParameterizedData> marketData,
      ReferenceData refData); @Override int getScenarioCount(); @Override Class<ParameterizedData> getMarketDataType(); static PointShifts.Meta meta(); @Override PointShifts.Meta metaBean(); ShiftType getShiftType(); DoubleMatrix getShifts(); ImmutableMap<Object, Integer> getNodeIndices(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void coverage() { PointShifts test = PointShifts.builder(ShiftType.RELATIVE) .addShift(0, Tenor.TENOR_1W, 0.1) .addShift(0, Tenor.TENOR_1M, 0.2) .addShift(0, Tenor.TENOR_3M, 0.3) .build(); coverImmutableBean(test); PointShifts test2 = PointShifts.builder(ShiftType.ABSOLUTE) .addShift(0, Tenor.TENOR_1M, 0.2) .addShift(0, Tenor.TENOR_3M, 0.3) .build(); coverBeanEquals(test, test2); }