class ExecutionGraphToInputsLocationsRetrieverAdapter implements InputsLocationsRetriever {

	@Override
	public Collection<Collection<ExecutionVertexID>> getConsumedResultPartitionsProducers(
			ExecutionVertexID executionVertexId) {
		ExecutionVertex ev = getExecutionVertex(executionVertexId);

		List<Collection<ExecutionVertexID>> resultPartitionProducers = new ArrayList<>(ev.getNumberOfInputs());
		for (int i = 0; i < ev.getNumberOfInputs(); i++) {
			ExecutionEdge[] inputEdges = ev.getInputEdges(i);
			List<ExecutionVertexID> producers = new ArrayList<>(inputEdges.length);
			for (ExecutionEdge inputEdge : inputEdges) {
				ExecutionVertex producer = inputEdge.getSource().getProducer();
				producers.add(new ExecutionVertexID(producer.getJobvertexId(), producer.getParallelSubtaskIndex()));
			}
			resultPartitionProducers.add(producers);

		}
		return resultPartitionProducers;
	}

	public  ExecutionGraphToInputsLocationsRetrieverAdapter(ExecutionGraph executionGraph);

}