code: public void deployAssignedVertices(final Collection<ExecutionVertex> startVertices) {
  
  		JobID jobID = null;
  
  		final Map<AbstractInstance, List<ExecutionVertex>> verticesToBeDeployed = new HashMap<AbstractInstance, List<ExecutionVertex>>();
  		final Set<ExecutionVertex> alreadyVisited = new HashSet<ExecutionVertex>();
  
  		for (final ExecutionVertex startVertex : startVertices) {
  
  			if (jobID == null) {
  				jobID = startVertex.getExecutionGraph().getJobID();
  			}
  
  			findVerticesToBeDeployed(startVertex, verticesToBeDeployed, alreadyVisited);
  		}
  
  		if (!verticesToBeDeployed.isEmpty()) {
  
  			final Iterator<Map.Entry<AbstractInstance, List<ExecutionVertex>>> it2 = verticesToBeDeployed
  				.entrySet()
  				.iterator();
  
  			while (it2.hasNext()) {
  
  				final Map.Entry<AbstractInstance, List<ExecutionVertex>> entry = it2.next();
  				this.deploymentManager.deploy(jobID, entry.getKey(), entry.getValue());
  			}
  		}
  	}
docs: Collects all execution vertices with the state ASSIGNED starting from the given collection of start vertices and
  deploys them on the assigned {@link AllocatedResource} objects.
  
  @param startVertices
  the collection of execution vertices to start the deployment from