code: public TaskKillResult killTask() {
  
  		final ExecutionState state = this.executionState.get();
  
  		if (state != ExecutionState.RUNNING) {
  			final TaskKillResult result = new TaskKillResult(getID(), AbstractTaskResult.ReturnCode.ILLEGAL_STATE);
  			result.setDescription("Vertex " + this.toString() + " is in state " + state);
  			return result;
  		}
  
  		final AllocatedResource ar = this.allocatedResource.get();
  
  		if (ar == null) {
  			final TaskKillResult result = new TaskKillResult(getID(), AbstractTaskResult.ReturnCode.NO_INSTANCE);
  			result.setDescription("Assigned instance of vertex " + this.toString() + " is null!");
  			return result;
  		}
  
  		try {
  			return ar.getInstance().killTask(this.vertexID);
  		} catch (IOException e) {
  			final TaskKillResult result = new TaskKillResult(getID(), AbstractTaskResult.ReturnCode.IPC_ERROR);
  			result.setDescription(StringUtils.stringifyException(e));
  			return result;
  		}
  	}
docs: Kills and removes the task represented by this vertex from the instance it is currently running on. If the
  corresponding task is not in the state <code>RUNNING</code>, this call will be ignored. If the call has been
  executed
  successfully, the task will change the state <code>FAILED</code>.
  
  @return the result of the task kill attempt