{
Object value = expression.evaluate(mExecutionState.getVariables());
if (value instanceof RequestNode)
{
RequestNode node = (RequestNode)value;
Graph graph = GraphUtilities.getConnectedComponent(node);
// now replace all subgraphs with their composite processing elements
for (Variable var : mExecutionState.getVariables().values())
{
if (var.getType() instanceof ProcessingElementType)
{
if (var.getValue() instanceof CompositeProcessingElement)
{
CompositeProcessingElement composite =
(CompositeProcessingElement)var.getValue();
List<RequestNode> elements = composite.getElements();
if (graph.getNodes().removeAll(elements))
{
graph.add(composite);
}
}
}
}
if (!mSubmittedGraphs.add(graph))