class AbstractExecutionSlotAllocator implements ExecutionSlotAllocator {

	@VisibleForTesting
	static Set<AllocationID> computeAllPriorAllocationIds(
			final Collection<ExecutionVertexSchedulingRequirements> executionVertexSchedulingRequirements) {

		return executionVertexSchedulingRequirements
			.stream()
			.map(ExecutionVertexSchedulingRequirements::getPreviousAllocationId)
			.filter(Objects::nonNull)
			.collect(Collectors.toSet());
	}

	  AbstractExecutionSlotAllocator(final PreferredLocationsRetriever preferredLocationsRetriever);

}