protected CloudGitApplication createApplication() throws ServerRuntimeException {
    return myAgentTaskExecutor.execute(
        new Computable<CloudGitApplication>() {

          @Override
          public CloudGitApplication compute() {
            return myDeployment.createApplication();
          }
        });
  }
  public void undeploy() throws ServerRuntimeException {
    if (!confirmUndeploy()) {
      throw new ServerRuntimeException("Undeploy cancelled");
    }
    myAgentTaskExecutor.execute(
        new Computable<Object>() {

          @Override
          public Object compute() {
            myDeployment.deleteApplication();
            return null;
          }
        });
  }