### Question:
MeanCenteringVectorNormalizer extends AbstractVectorNormalizer implements Serializable { @Override public InvertibleFunction<Long2DoubleMap, Long2DoubleMap> makeTransformation(Long2DoubleMap reference) { return new Transform(Vectors.mean(reference)); }  @Override InvertibleFunction<Long2DoubleMap, Long2DoubleMap> makeTransformation(Long2DoubleMap reference);  }### Answer:
@Test public void testTransform() { Long2DoubleMap reference = new Long2DoubleOpenHashMap(); reference.put(4L, 3.5); reference.put(5L, 2.5); InvertibleFunction<Long2DoubleMap, Long2DoubleMap> tx = norm.makeTransformation(reference); Long2DoubleMap out = tx.apply(reference); assertThat(out, notNullValue()); assertThat(out.get(4L), closeTo(0.5, 1.0e-5)); assertThat(out.get(5L), closeTo(-0.5, 1.0e-5)); Long2DoubleMap toRev = new Long2DoubleOpenHashMap(out); toRev.put(4L, 2.0); out = tx.unapply(toRev); assertThat(out.get(4L), closeTo(5, 1.0e-5)); }