@Override
  protected void applyUpdate(ServerGroupElement serverGroupElement) throws UpdateFailedException {

    ServerGroupDeploymentElement undeploymentElement =
        serverGroupElement.getDeployment(replacedDeploymentName);

    if (undeploymentElement == null) {
      throw new UpdateFailedException("Unknown deployment " + serverGroupElement);
    }

    // This may also be an add
    serverGroupElement.addDeployment(uniqueName, runtimeName, hash, false);
    ServerGroupDeploymentElement deploymentElement = serverGroupElement.getDeployment(uniqueName);

    undeploymentElement.setStart(false);
    deploymentElement.setStart(true);
  }