{
super(
new SyncPipeExpressionGraph(),
// in order to capture out degree in sub-graph, we need to capture at least two successors
new ExpressionGraph()
.arcs( SHARED_GROUP, new FlowElementExpression( HashJoin.class ) )
.arcs( SHARED_GROUP, new FlowElementExpression( HashJoin.class ) ),
// sub-graph to match has out degree captured above
new ExpressionGraph()
.arcs(
new FlowElementExpression( ElementCapture.Primary, Pipe.class, TypeExpression.Topo.SplitOnly )
)
);
}