### Question:
Rotation extends AAngularMeasure implements IRotation { @Override public IRotation multiply(final double factor) { return new Rotation(this.angle * factor); } private  Rotation(); private  Rotation(double rad); static Rotation zero(); static Rotation ofRad(double rad); static Rotation ofDeg(double deg); static Rotation ofRotation(double turns); static Rotation ofVec(IVector2 vector); static Rotation ofAngularMeasure(IAngularMeasure angularMeasure); @Override IRotation add(final IAngularMeasure angle); @Override IRotation add(final double angle); @Override IRotation subtract(final IAngularMeasure angle); @Override IRotation subtract(final double angle); @Override IRotation multiply(final double factor);  }### Answer:
@Test public void multiply() { assertEquals(0, Rotation.zero().multiply(Math.PI / 2).multiply(42).asRad(), ACCURACY); assertEquals(42, Rotation.ofDeg(21).multiply(1).multiply(2).asDeg(), ACCURACY); }