// local version public synchronized ProjectionIndexer accessProjectionIndexerOnetime( RecipeTraceInfo supplierTrace, TupleMask mask) { if (Options.nodeSharingOption != Options.NodeSharingOption.NEVER) return accessProjectionIndexer(supplierTrace, mask); final Address<? extends Node> supplierAddress = getOrCreateNodeByRecipe(supplierTrace); Supplier supplier = (Supplier) reteContainer.resolveLocal(supplierAddress); reteContainer.flushUpdates(); OnetimeIndexer result = new OnetimeIndexer(reteContainer, mask); reteContainer.sendConstructionUpdates( result, Direction.INSERT, reteContainer.pullContents(supplier)); reteContainer.flushUpdates(); return result; }