### Question:
Lower extends OrderedScalar<T> { @Override public T value(final OrderedField<T> field) { if (!this.generated.isPresent()) { this.generated = Optional.of(field.lower(this.greater)); } return field.actual(this.generated.get()); } Lower(final Scalar<T> greater); @Override T value(final OrderedField<T> field);  }### Answer:
@Test public void throwsExceptionWhenUnorderedField() { this.thrown.expect(UnsupportedOperationException.class); new Lower<>( new Scalar.Default<>(new Object()) ).value(new SpyField<>(new Object(), new Object())); }