/** * accesses the production node for specified pattern; builds pattern matcher if it doesn't exist * yet */ public synchronized Address<? extends Production> accessProductionNode(PQuery query) throws QueryProcessingException { final RecipeTraceInfo productionTrace = accessProductionTrace(query); return (Address<? extends Production>) headContainer.getProvisioner().getOrCreateNodeByRecipe(productionTrace); }