boolean isNonBlocking = outgoing.isNonBlocking();
if( isJoin )
isNonBlocking = isNonBlocking && incoming.isNonBlocking();
Scope scope = new Scope( outgoing );
// unsure if necessary since we track blocking independently
// when removing a pipe, pull ordinal up to tap
// when removing a Splice retain ordinal
if( flowElement instanceof Splice )
scope.setOrdinal( incoming.getOrdinal() );
else
scope.setOrdinal( outgoing.getOrdinal() );
scope.setNonBlocking( isNonBlocking );
scope.addPriorNames( incoming, outgoing ); // not copied
elementGraph.addEdge( source, target, scope );
}
}
elementGraph.removeVertex( flowElement );