public Collection<ScreenableIssueOperation> getAddableIssueOperations() {
    if (addableIssueOperations == null) {
      final DefaultIssueOperation defaultIssueOperation = new DefaultIssueOperation();

      addableIssueOperations = Lists.newLinkedList();
      FieldScreenScheme fieldScreenScheme = getFieldScreenScheme();
      if (fieldScreenScheme != null) {
        addableIssueOperations.add(defaultIssueOperation);
        addableIssueOperations.addAll(IssueOperations.getIssueOperations());

        for (FieldScreenSchemeItem fieldScreenSchemeItem :
            fieldScreenScheme.getFieldScreenSchemeItems()) {
          ScreenableIssueOperation issueOperation = fieldScreenSchemeItem.getIssueOperation();
          if (issueOperation != null) {
            addableIssueOperations.remove(issueOperation);
          } else {
            addableIssueOperations.remove(defaultIssueOperation);
          }
        }
      }
    }

    return addableIssueOperations;
  }
 public IssueOperation getIssueOperation() {
   if (getIssueOperationId() != null)
     return IssueOperations.getIssueOperation(getIssueOperationId());
   else return null;
 }
 protected void validateIssueOperationId() {
   // Null operation id represents the default entry
   if (issueOperationId != null && IssueOperations.getIssueOperation(issueOperationId) == null) {
     addError("issueOperationId", getText("admin.errors.screens.invalid.issue.operation.id"));
   }
 }