Buggy code:
public abstract class AbstractExpressionsUsingWorkflowComponent extends AbstractWorkflowComponent2 { protected final Log log = LogFactory . getLog ( getClass ( ) ) ; protected final List < MetaModel > metaModels = new ArrayList < MetaModel > ( ) ; private List < AbstractExpressionsUsingWorkflowComponent . GlobalVarDef > globalVarDefs = new ArrayList < AbstractExpressionsUsingWorkflowComponent . GlobalVarDef > ( ) ; protected final List < String > _advice = new ArrayList < String > ( ) ; public void addAdvice ( String advice ) { } public void addAdvices ( String advice ) { } public void addExtensionAdvice ( String advice ) { } public void addExtensionAdvices ( String advice ) { } public void addMetaModel ( final MetaModel metaModel ) { } public static class GlobalVarDef { private String name ; private String value ; public String getName ( ) { } public void setName ( String name ) { } public String getValue ( ) { } public void setValue ( String value ) { } } public void addGlobalVarDef ( AbstractExpressionsUsingWorkflowComponent . GlobalVarDef def ) { } protected Map < String , Variable > getGlobalVars ( WorkflowContext ctx ) { } protected Callback callback ; public void setCallback ( Callback callback ) { } protected ExecutionContextImpl getExecutionContext ( final WorkflowContext ctx ) { <START_BUG> final ExecutionContextImpl executionContext = new ExecutionContextImpl ( getResourceManager ( ) , null , new TypeSystemImpl ( ) , new HashMap < String , Variable > ( ) , getGlobalVars ( ctx ) , null , exceptionHandler , null , getNullEvaluationHandler ( ) , null , callback , null ) ; <END_BUG> for ( MetaModel mm : metaModels ) { executionContext . registerMetaModel ( mm ) ; } return executionContext ; } public NullEvaluationHandler getNullEvaluationHandler ( ) { } @ Override protected void checkConfigurationInternal ( Issues issues ) { } private List < AbstractExpressionsUsingWorkflowComponent . Debug > debugExpressions = new ArrayList < AbstractExpressionsUsingWorkflowComponent . Debug > ( ) ; public void addDebug ( AbstractExpressionsUsingWorkflowComponent . Debug expr ) { } private boolean dumpContext = false ; public void setDumpContext ( boolean dumpContext ) { } public static class Debug { private String expression ; private boolean dumpContext = false ; public void setDumpContext ( boolean dumpContext ) { } public boolean isDumpContext ( ) { } public void setExpression ( String expression ) { } public String getExpression ( ) { } } @ Override protected void invokeInternal ( WorkflowContext ctx , ProgressMonitor monitor , final Issues issues ) { } public String toString ( EvaluationException ex , List < AbstractExpressionsUsingWorkflowComponent . Debug > debugEntries ) { } protected void invokeInternal2 ( WorkflowContext ctx , ProgressMonitor monitor , Issues issues ) { } protected boolean exceptionsOnNullEvaluation = false ; protected ExceptionHandler exceptionHandler = null ; public void setExceptionsOnNullEvaluation ( boolean exceptionsOnNullEvaluation ) { } public void setExceptionHandler ( final ExceptionHandler exceptionHandler ) { } private ResourceManager resourceManager ; public ResourceManager getResourceManager ( ) { } public void setResourceManager ( ResourceManager resourceManager ) { } }

Fix:
final ExecutionContextImpl executionContext = new ExecutionContextImpl ( getResourceManager ( ) , null , new TypeSystemImpl ( ) , new HashMap < String , Variable > ( ) , getGlobalVars ( ctx ) , null , exceptionHandler , null , getNullEvaluationHandler ( ) , null , callback , null , null ) ;