@Override
	public Iterator<OptimizerNode> getPredecessors() {
		List<OptimizerNode> allPredecessors = new ArrayList<OptimizerNode>();
		
		for (Iterator<PactConnection> inputs = getIncomingConnections().iterator(); inputs.hasNext(); ){
			allPredecessors.add(inputs.next().getSource());
		}
		
		for (PactConnection conn : getBroadcastConnections()) {
			allPredecessors.add(conn.getSource());
		}
		
		return allPredecessors.iterator();
	}
@ Override public Iterator < OptimizerNode > getPredecessors ( ) { List < OptimizerNode > allPredecessors = new ArrayList < OptimizerNode > ( ) ; for ( Iterator < PactConnection > inputs = getIncomingConnections ( ) . iterator ( ) ; inputs . hasNext ( ) ; ) { allPredecessors . add ( inputs . next ( ) . getSource ( ) ) ; } for ( PactConnection conn : getBroadcastConnections ( ) ) { allPredecessors . add ( conn . getSource ( ) ) ; } return allPredecessors . iterator ( ) ; }
------------------------------------------------------------------------