class DeploymentHandle {

	public Optional<LogicalSlot> getLogicalSlot() {
		final CompletableFuture<LogicalSlot> logicalSlotFuture = slotExecutionVertexAssignment.getLogicalSlotFuture();
		Preconditions.checkState(logicalSlotFuture.isDone(), "method can only be called after slot future is done");

		if (logicalSlotFuture.isCompletedExceptionally()) {
			return Optional.empty();
		}
		return Optional.ofNullable(logicalSlotFuture.getNow(null));
	}

	public  DeploymentHandle(
		final ExecutionVertexVersion requiredVertexVersion,
		final ExecutionVertexDeploymentOption executionVertexDeploymentOption,
		final SlotExecutionVertexAssignment slotExecutionVertexAssignment);

}