code: @Override
  	public Iterable<OptimizerNode> getPredecessors() {
  		List<OptimizerNode> allPredecessors = new ArrayList<OptimizerNode>();
  
  		for (DagConnection dagConnection : getIncomingConnections()) {
  			allPredecessors.add(dagConnection.getSource());
  		}
  		
  		for (DagConnection conn : getBroadcastConnections()) {
  			allPredecessors.add(conn.getSource());
  		}
  		
  		return allPredecessors;
  	}
docs: ------------------------------------------------------------------------