When using setValue on DoubleValue object only the value is set. The setter does not change stringValue which is then used in toString method.
Following test would fail:
@Test
public void shouldSetStringValue() {
final DoubleValue doubleValue = new DoubleValue("42");
doubleValue.setValue(43D);
assertEquals(43D, doubleValue.getValue());
assertEquals("43.0", doubleValue.toString());
}