// 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;
  }