code: @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();
  	}
docs: ------------------------------------------------------------------------