code: static void addDeploymentOperationStep(final CompositeOperationBuilder builder, final Deployment deployment) {
          final String name = deployment.getName();
          final ModelNode address = createAddress(DEPLOYMENT, name);
          final String runtimeName = deployment.getRuntimeName();
          final ModelNode addOperation = createAddOperation(address);
          if (runtimeName != null) {
              addOperation.get(RUNTIME_NAME).set(runtimeName);
          }
          addOperation.get(ENABLED).set(deployment.isEnabled());
          addContent(builder, addOperation, deployment);
          builder.addStep(addOperation);
  
          final Set<String> serverGroups = deployment.getServerGroups();
          // If the server groups are empty this is a standalone deployment
          if (!serverGroups.isEmpty()) {
              for (String serverGroup : serverGroups) {
                  final ModelNode sgAddress = createAddress(SERVER_GROUP, serverGroup, DEPLOYMENT, name);
  
                  final ModelNode op = createAddOperation(sgAddress);
                  op.get(ENABLED).set(deployment.isEnabled());
                  if (runtimeName != null) {
                      op.get(RUNTIME_NAME).set(runtimeName);
                  }
                  builder.addStep(op);
              }
          }
      }
docs: Creates an add operation on the deployment resource to the composite operation.
  <p>
  If the {@link Deployment#isEnabled()} is {@code false} a step to
  {@linkplain #addDeployOperationStep(CompositeOperationBuilder, DeploymentDescription) deploy} the content may be
  required.
  </p>
  
  @param builder    the builder to add the step to
  @param deployment the deployment to deploy