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