class MesosFlinkResourceManager extends FlinkResourceManager<RegisteredMesosWorkerNode> {

	@Override
	protected Collection<RegisteredMesosWorkerNode> reacceptRegisteredWorkers(Collection<ResourceID> toConsolidate) {

		// we check for each task manager if we recognize its Mesos task ID
		List<RegisteredMesosWorkerNode> accepted = new ArrayList<>(toConsolidate.size());
		for (ResourceID resourceID : toConsolidate) {
			MesosWorkerStore.Worker worker = workersInLaunch.remove(resourceID);
			if (worker != null) {
				LOG.info("Mesos worker consolidation recognizes TaskManager {}.", resourceID);
				accepted.add(new RegisteredMesosWorkerNode(worker));
			} else {
				if (isStarted(resourceID)) {
					LOG.info("TaskManager {} has already been registered at the resource manager.", resourceID);
				}
				else {
					LOG.info("Mesos worker consolidation does not recognize TaskManager {}.", resourceID);
				}
			}
		}
		return accepted;
	}

	public  MesosFlinkResourceManager(
		Configuration flinkConfig,
		MesosConfiguration mesosConfig,
		MesosWorkerStore workerStore,
		LeaderRetrievalService leaderRetrievalService,
		MesosTaskManagerParameters taskManagerParameters,
		ContainerSpecification taskManagerContainerSpec,
		MesosArtifactResolver artifactResolver,
		int maxFailedTasks,
		int numInitialTaskManagers);

}