+ });
+ }
+
+ private boolean addPostponedOpAndWait(final FutureSchemaPredicate postponedOp) {
+ if (!this.waitEnabled) {
+ return false;
+ }
+
+ final BindingRuntimeContext localRuntimeContext = this.runtimeContext;
+ synchronized (this.postponedOperations) {
+ this.postponedOperations.add(postponedOp);
+
+ // If the runtimeContext changed, this op may now be satisfied so check it.
+ if (localRuntimeContext != this.runtimeContext) {
+ postponedOp.unlockIfPossible(this.runtimeContext);
+ }
+ }
+