According to the contract for calling Deferred.get(), returning null is a valid object reference.
Unfortunately the Ensured class (and thus Eventually.assertThat) ignores this an will continue to retry (calling Deferred.get()) until a non-null reference is returned, or it times out.
The problem with this behavior is that a matcher expecting null will never be satisfied.
While resolving this in Oracle Tools 2.x and 3.x has no effect, it may effect custom Deferred implementations made in 1.x, as the semantics will have now changed.
According to the contract for calling Deferred.get(), returning null is a valid object reference.
Unfortunately the Ensured class (and thus Eventually.assertThat) ignores this an will continue to retry (calling Deferred.get()) until a non-null reference is returned, or it times out.
The problem with this behavior is that a matcher expecting null will never be satisfied.
While resolving this in Oracle Tools 2.x and 3.x has no effect, it may effect custom Deferred implementations made in 1.x, as the semantics will have now changed.