public override T get <T>(Contextual <T> contextual, CreationalContext <T> arg1) { Bean <T> bean = (Bean <T>)contextual; string variableName = bean.Name; BusinessProcess businessProcess = BusinessProcess; object variable = businessProcess.getVariable(variableName); if (variable != null) { if (logger.isLoggable(Level.FINE)) { if (businessProcess.Associated) { logger.fine("Getting instance of bean '" + variableName + "' from Execution[" + businessProcess.ExecutionId + "]."); } else { logger.fine("Getting instance of bean '" + variableName + "' from transient bean store"); } } return((T)variable); } else { if (logger.isLoggable(Level.FINE)) { if (businessProcess.Associated) { logger.fine("Creating instance of bean '" + variableName + "' in business process context representing Execution[" + businessProcess.ExecutionId + "]."); } else { logger.fine("Creating instance of bean '" + variableName + "' in transient bean store"); } } T beanInstance = bean.create(arg1); businessProcess.setVariable(variableName, beanInstance); return(beanInstance); } }