Source:
<code>public List<WorkflowAction> findAvailableActions(final Contentlet contentlet, final User user) throws DotDataException, DotSecurityException { if (!hasValidLicense()) { Logger.debug(this, ""); <START> throw new DotSecurityException("You must have a valid license to see any available actions."); <END> } if(contentlet == null || contentlet.getStructure() ==null) { Logger.debug(this, "the Contentlet: " + contentlet + " or their structure could be null"); throw new DotStateException("content is null"); } final ImmutableList.Builder<WorkflowAction> actions = new ImmutableList.Builder<>(); if(Host.HOST_VELOCITY_VAR_NAME.equals(contentlet.getStructure().getVelocityVarName())) { Logger.debug(this, "The contentlet: " + contentlet.getIdentifier() + ", is a host. Returning zero available actions"); return Collections.emptyList(); } final boolean isNew = !UtilMethods.isSet(contentlet.getInode()); boolean canLock = false; boolean isLocked = false; boolean isPublish = false; boolean isArchived = false; try { canLock = APILocator.getContentletAPI().canLock(contentlet, user); isLocked = isNew? true : APILocator.getVersionableAPI().isLocked(contentlet); isPublish = isNew? false: APILocator.getVersionableAPI().isLive(contentlet); isArchived = isNew? false: APILocator.getVersionableAPI().isDeleted(contentlet); } catch(Exception e) { } final List<WorkflowStep> steps = findStepsByContentlet(contentlet); Logger.debug(this, "#findAvailableActions: for content: " + contentlet.getIdentifier() + ", isNew: " + isNew + ", canLock: " + canLock + ", isLocked: " + isLocked); return isNew? this.doFilterActions(actions, true, false, false, canLock, isLocked, findActions(steps, user, contentlet.getContentType())): this.doFilterActions(actions, false, isPublish, isArchived, canLock, isLocked, findActions(steps, user, contentlet)); }</code><technical_language>i18n</technical_language>

Target:
public List<WorkflowAction> findAvailableActions(final Contentlet contentlet, final User user) throws DotDataException, DotSecurityException { if(contentlet == null || contentlet.getStructure() ==null) { Logger.debug(this, "the Contentlet: " + contentlet + " or their structure could be null"); throw new DotStateException("content is null"); } final ImmutableList.Builder<WorkflowAction> actions = new ImmutableList.Builder<>(); if(Host.HOST_VELOCITY_VAR_NAME.equals(contentlet.getStructure().getVelocityVarName())) { Logger.debug(this, "The contentlet: " + contentlet.getIdentifier() + ", is a host. Returning zero available actions"); return Collections.emptyList(); } final boolean isNew = !UtilMethods.isSet(contentlet.getInode()); boolean canLock = false; boolean isLocked = false; boolean isPublish = false; boolean isArchived = false; try { canLock = APILocator.getContentletAPI().canLock(contentlet, user); isLocked = isNew? true : APILocator.getVersionableAPI().isLocked(contentlet); isPublish = isNew? false: APILocator.getVersionableAPI().isLive(contentlet); isArchived = isNew? false: APILocator.getVersionableAPI().isDeleted(contentlet); } catch(Exception e) { } final List<WorkflowStep> steps = findStepsByContentlet(contentlet); Logger.debug(this, "#findAvailableActions: for content: " + contentlet.getIdentifier() + ", isNew: " + isNew + ", canLock: " + canLock + ", isLocked: " + isLocked); return isNew? this.doFilterActions(actions, true, false, false, canLock, isLocked, findActions(steps, user, contentlet.getContentType())): this.doFilterActions(actions, false, isPublish, isArchived, canLock, isLocked, findActions(steps, user, contentlet)); }