docs: @Override
      public Future<ServerDeploymentPlanResult> execute(DeploymentPlan plan) {
          if (!(plan instanceof DeploymentPlanImpl)) {
              throw ControllerClientLogger.ROOT_LOGGER.cannotUseDeploymentPlan();
          }
          DeploymentPlanImpl planImpl = (DeploymentPlanImpl) plan;
          Operation operation = getCompositeOperation(planImpl);
          Future<ModelNode> nodeFuture = executeOperation(operation);
          return new ServerDeploymentPlanResultFuture(planImpl, nodeFuture);
      }