Program: 125868
Project: 125868
Buggy source:
private ITreeContextualAction getAction(RepositoryNode obj){
  final boolean isCDC=isLinkCDCNode(obj);
  final ERepositoryObjectType nodeType=(ERepositoryObjectType)obj.getProperties(EProperties.CONTENT_TYPE);
  for (  ITreeContextualAction current : contextualsActions) {
    if (current.getClassForDoubleClick() == null) {
      return null;
    }
    if (isCDC) {
      if (current.getClassForDoubleClick().equals(CDCConnection.class)) {
        return current;
      }
      continue;
    }
    if (nodeType != null && (nodeType.equals(ERepositoryObjectType.METADATA_CON_TABLE) || (nodeType.equals(ERepositoryObjectType.METADATA_CON_COLUMN)))) {
      if (current.getClassForDoubleClick().equals(IMetadataTable.class)) {
        return current;
      }
      if (isEBCDICTable(obj) && current.getClassForDoubleClick().equals(EbcdicConnection.class)) {
        return current;
      }
      if (isSAPTable(obj) && current.getClassForDoubleClick().equals(SAPTableImpl.class)) {
        return current;
      }
      if (isSAPBWTable(obj) && current.getClassForDoubleClick().equals(SAPBWTableImpl.class)) {
        return current;
      }
      if (isSAPBapiTable(obj) && current.getClassForDoubleClick().equals(MetadataTableImpl.class)) {
        return current;
      }
      if (isMDMTable(obj) && current.getClassForDoubleClick().equals(MDMConnection.class)) {
        return current;
      }
      if (isHL7Table(obj) && current.getClassForDoubleClick().equals(HL7Connection.class)) {
        return current;
      }
      if (isEDIFACTTable(obj) && current.getClassForDoubleClick().equals(EDIFACTConnection.class)) {
        return current;
      }
      if (isBRMSTable(obj) && current.getClassForDoubleClick().equals(BRMSConnection.class)) {
        return current;
      }
      for (      IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
        if (handler.isOwnTable(obj,current.getClassForDoubleClick())) {
          return current;
        }
      }
    }
 else     if (nodeType != null && nodeType.equals(ERepositoryObjectType.METADATA_CON_QUERY)) {
      if (current.getClassForDoubleClick().equals(QueryEMFRepositoryNode.class)) {
        return current;
      }
    }
 else     if (nodeType != null && nodeType.equals(ERepositoryObjectType.METADATA_CON_CDC)) {
      return null;
    }
 else     if (nodeType != null && nodeType.equals(ERepositoryObjectType.METADATA_SAP_FUNCTION)) {
      if (current.getClassForDoubleClick().equals(SAPFunctionRepositoryObject.class) || current.getClassForDoubleClick().equals(SAPIDocRepositoryObject.class)) {
        return current;
      }
    }
 else     if (nodeType != null && nodeType.equals(ERepositoryObjectType.METADATA_SAP_IDOC)) {
      if (current.getClassForDoubleClick().equals(SAPIDocRepositoryObject.class)) {
        return current;
      }
    }
 else     if (nodeType != null && nodeType.equals(ERepositoryObjectType.METADATA_SALESFORCE_MODULE)) {
      if (current.getClassForDoubleClick().equals(SalesforceModuleRepositoryObject.class)) {
        return current;
      }
    }
 else     if (nodeType != null && nodeType.equals(ERepositoryObjectType.SERVICESOPERATION)) {
      if (current.getClassForDoubleClick().getSimpleName().equals(Messages.getString("String_Node_Str"))) {
        return current;
      }
    }
 else     if (obj.getObject() != null && current.getClassForDoubleClick().getSimpleName().equals(obj.getObject().getProperty().getItem().eClass().getName())) {
      return current;
    }
  }
  return null;
}

Fixed version (ground truth):
private ITreeContextualAction getAction(RepositoryNode obj){
  final boolean isCDC=isLinkCDCNode(obj);
  final ERepositoryObjectType nodeType=(ERepositoryObjectType)obj.getProperties(EProperties.CONTENT_TYPE);
  for (  ITreeContextualAction current : contextualsActions) {
    if (current.getClassForDoubleClick() == null) {
      return null;
    }
    if (isCDC) {
      if (current.getClassForDoubleClick().equals(CDCConnection.class)) {
        return current;
      }
      continue;
    }
    if (nodeType != null && (nodeType.equals(ERepositoryObjectType.METADATA_CON_TABLE) || (nodeType.equals(ERepositoryObjectType.METADATA_CON_COLUMN)))) {
      if (current.getClassForDoubleClick().equals(IMetadataTable.class)) {
        return current;
      }
      if (isEBCDICTable(obj) && current.getClassForDoubleClick().equals(EbcdicConnection.class)) {
        return current;
      }
      if (isSAPTable(obj) && current.getClassForDoubleClick().equals(SAPTableImpl.class)) {
        return current;
      }
      if (isSAPBWTable(obj,current) && current.getClassForDoubleClick().equals(SAPBWTableImpl.class)) {
        return current;
      }
      if (isSAPBapiTable(obj) && current.getClassForDoubleClick().equals(MetadataTableImpl.class)) {
        return current;
      }
      if (isMDMTable(obj) && current.getClassForDoubleClick().equals(MDMConnection.class)) {
        return current;
      }
      if (isHL7Table(obj) && current.getClassForDoubleClick().equals(HL7Connection.class)) {
        return current;
      }
      if (isEDIFACTTable(obj) && current.getClassForDoubleClick().equals(EDIFACTConnection.class)) {
        return current;
      }
      if (isBRMSTable(obj) && current.getClassForDoubleClick().equals(BRMSConnection.class)) {
        return current;
      }
      for (      IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
        if (handler.isOwnTable(obj,current.getClassForDoubleClick())) {
          return current;
        }
      }
    }
 else     if (nodeType != null && nodeType.equals(ERepositoryObjectType.METADATA_CON_QUERY)) {
      if (current.getClassForDoubleClick().equals(QueryEMFRepositoryNode.class)) {
        return current;
      }
    }
 else     if (nodeType != null && nodeType.equals(ERepositoryObjectType.METADATA_CON_CDC)) {
      return null;
    }
 else     if (nodeType != null && nodeType.equals(ERepositoryObjectType.METADATA_SAP_FUNCTION)) {
      if (current.getClassForDoubleClick().equals(SAPFunctionRepositoryObject.class) || current.getClassForDoubleClick().equals(SAPIDocRepositoryObject.class)) {
        return current;
      }
    }
 else     if (nodeType != null && nodeType.equals(ERepositoryObjectType.METADATA_SAP_IDOC)) {
      if (current.getClassForDoubleClick().equals(SAPIDocRepositoryObject.class)) {
        return current;
      }
    }
 else     if (nodeType != null && nodeType.equals(ERepositoryObjectType.METADATA_SALESFORCE_MODULE)) {
      if (current.getClassForDoubleClick().equals(SalesforceModuleRepositoryObject.class)) {
        return current;
      }
    }
 else     if (nodeType != null && nodeType.equals(ERepositoryObjectType.SERVICESOPERATION)) {
      if (current.getClassForDoubleClick().getSimpleName().equals(Messages.getString("String_Node_Str"))) {
        return current;
      }
    }
 else     if (obj.getObject() != null && current.getClassForDoubleClick().getSimpleName().equals(obj.getObject().getProperty().getItem().eClass().getName())) {
      return current;
    }
  }
  return null;
}