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