### Question:
DoubleOption extends ValueOption<DoubleOption> { @Deprecated public DoubleOption modify(double newValue) { this.nullValue = false; this.value = newValue; return this; } DoubleOption();  DoubleOption(double value); double get(); double or(double alternate); void add(double delta); void add(DoubleOption other); @Deprecated DoubleOption modify(double newValue); @Override @Deprecated void copyFrom(DoubleOption optionOrNull); @Override int hashCode(); @Override boolean equals(Object obj); boolean has(double other); @Override int compareTo(WritableRawComparable o); @Override String toString(); @Override void write(DataOutput out); @SuppressWarnings("deprecation") @Override void readFields(DataInput in); @SuppressWarnings("deprecation") @Override int restore(byte[] bytes, int offset, int limit); @Override int getSizeInBytes(byte[] buf, int offset); @Override int compareInBytes(byte[] b1, int o1, byte[] b2, int o2); static int getBytesLength(byte[] bytes, int offset, int length); static int compareBytes(
            byte[] b1, int s1, int l1,
            byte[] b2, int s2, int l2);  }### Answer:
@Test public void compareNull() { DoubleOption a = new DoubleOption(); DoubleOption b = new DoubleOption(); DoubleOption c = new DoubleOption(); a.modify(Double.NEGATIVE_INFINITY); assertThat(compare(a, b), greaterThan(0)); assertThat(compare(b, a), lessThan(0)); assertThat(compare(b, c), is(0)); }