@Override public void execute() { CallContext.current() .setEventDetails( "Template Id: " + getEntityId() + (getSnapshotId() == null ? " from volume Id: " + getVolumeId() : " from snapshot Id: " + getSnapshotId())); VirtualMachineTemplate template = null; template = _templateService.createPrivateTemplate(this); if (template != null) { final List<TemplateResponse> templateResponses = _responseGenerator.createTemplateResponses( ResponseView.Restricted, template.getId(), snapshotId, volumeId, false); TemplateResponse response = new TemplateResponse(); if (templateResponses != null && !templateResponses.isEmpty()) { response = templateResponses.get(0); } response.setResponseName(getCommandName()); setResponseObject(response); } else { throw new ServerApiException( ApiErrorCode.INTERNAL_ERROR, "Failed to create private template"); } }