docs: @Override
  	public void execute() throws MojoExecutionException, MojoFailureException {
  
  		if (deployment == null || deployment.isEmpty()) {
  			deployment = retrieveBranch();
  			if (CloudControlSupport.MASTER_BRANCH.equals(deployment)) {
  				deployment = "default";
  			}
  		}
  
  		if (deployment == null) {
  			Repository repository = null;
  			try {
  				repository = getRepository();
  				String branch = repository.getBranch();
  				if (!CloudControlSupport.MASTER_BRANCH.equals(branch)) {
  					deployment = branch;
  				}
  			} catch (IOException e) {
  				throw new MojoExecutionException(e.getClass().getSimpleName(), e);
  			} finally {
  				if (repository != null) {
  					repository.close();
  				}
  			}
  		}
  
  		String deploymentQualifier = application + (deployment != null ? ":" + deployment + (commitId != null ? ":" + commitId : "") : "");
  		log.info("Deploying " + deploymentQualifier + " to CloudControl PaaS.");
  
  		CloudControlClient client = CloudControlSupport.createCloudControlClient();
  		UpdateDeploymentRequest request = CloudControlSupport.createUpdateDeploymentRequest(application, deployment, commitId);
  
  		UpdateDeploymentResponse response = null;
  		try {
  			response = client.send(request);
  
  			if (response.isError()) {
  				throw new MojoFailureException(response.getContent());
  			}
  		} catch (CloudControlClientException ccce) {
  			throw new MojoExecutionException("CloudControlClientException", ccce);
  		}
  
  		log.info("Successfully deployed " + deploymentQualifier);
  		log.info("Please, visit to following domain: http://" + response.getDeployment().getDefaultSubdomain());
  	}