Program: 102037
Project: 102037
Buggy source:
/** 
 * Analyzes this object's data values and sets the current <code>IStatus</code>
 */
public void validate(){
  if (isFlatFileLocalMode()) {
    if (this.fileInfoMap.isEmpty()) {
      setStatus(new Status(IStatus.ERROR,PLUGIN_ID,getString("String_Node_Str")));
      return;
    }
    boolean noneProcessed=true;
    for (    ITeiidMetadataFileInfo info : fileInfoMap.values()) {
      if (info.doProcess()) {
        noneProcessed=false;
      }
    }
    if (noneProcessed) {
      setStatus(new Status(IStatus.ERROR,PLUGIN_ID,getString("String_Node_Str")));
      return;
    }
    for (    TeiidMetadataFileInfo info : fileInfoMap.values()) {
      if (info.doProcess() && info.getStatus().getSeverity() > IStatus.WARNING) {
        setStatus(new Status(IStatus.ERROR,PLUGIN_ID,Util.getString(I18N_PREFIX + "String_Node_Str",info.getDataFile().getName())));
        return;
      }
    }
    setStatus(Status.OK_STATUS);
  }
 else {
    if (this.xmlFileInfoMap.isEmpty()) {
      setStatus(new Status(IStatus.ERROR,PLUGIN_ID,getString("String_Node_Str")));
      return;
    }
    boolean noneProcessed=true;
    for (    TeiidXmlFileInfo info : xmlFileInfoMap.values()) {
      if (info.doProcess()) {
        noneProcessed=false;
      }
    }
    if (noneProcessed) {
      setStatus(new Status(IStatus.ERROR,PLUGIN_ID,getString("String_Node_Str")));
      return;
    }
    for (    TeiidXmlFileInfo info : xmlFileInfoMap.values()) {
      if (info.doProcess() && info.getStatus().getSeverity() > IStatus.WARNING) {
        setStatus(new Status(IStatus.ERROR,PLUGIN_ID,Util.getString(I18N_PREFIX + "String_Node_Str",info.getDataFile().getName())));
        return;
      }
    }
    setStatus(Status.OK_STATUS);
  }
  if (getStatus().isOK() && viewModelLocation != null && sourceModelLocation != null) {
    if (viewModelLocation.segmentCount() > 0 && sourceModelLocation.segmentCount() > 0) {
      if (!(viewModelLocation.segment(0).equalsIgnoreCase(sourceModelLocation.segment(0)))) {
        setStatus(new Status(IStatus.ERROR,PLUGIN_ID,Util.getString(I18N_PREFIX + "String_Node_Str")));
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * Analyzes this object's data values and sets the current <code>IStatus</code>
 */
public void validate(){
  if (isFlatFileLocalMode() || isFlatFileUrlMode()) {
    if (this.fileInfoMap.isEmpty()) {
      setStatus(new Status(IStatus.ERROR,PLUGIN_ID,getString("String_Node_Str")));
      return;
    }
    boolean noneProcessed=true;
    for (    ITeiidMetadataFileInfo info : fileInfoMap.values()) {
      if (info.doProcess()) {
        noneProcessed=false;
      }
    }
    if (noneProcessed) {
      setStatus(new Status(IStatus.ERROR,PLUGIN_ID,getString("String_Node_Str")));
      return;
    }
    for (    TeiidMetadataFileInfo info : fileInfoMap.values()) {
      if (info.doProcess() && info.getStatus().getSeverity() > IStatus.WARNING) {
        setStatus(new Status(IStatus.ERROR,PLUGIN_ID,Util.getString(I18N_PREFIX + "String_Node_Str",info.getDataFile().getName())));
        return;
      }
    }
    setStatus(Status.OK_STATUS);
  }
 else {
    if (this.xmlFileInfoMap.isEmpty()) {
      setStatus(new Status(IStatus.ERROR,PLUGIN_ID,getString("String_Node_Str")));
      return;
    }
    boolean noneProcessed=true;
    for (    TeiidXmlFileInfo info : xmlFileInfoMap.values()) {
      if (info.doProcess()) {
        noneProcessed=false;
      }
    }
    if (noneProcessed) {
      setStatus(new Status(IStatus.ERROR,PLUGIN_ID,getString("String_Node_Str")));
      return;
    }
    for (    TeiidXmlFileInfo info : xmlFileInfoMap.values()) {
      if (info.doProcess() && info.getStatus().getSeverity() > IStatus.WARNING) {
        setStatus(new Status(IStatus.ERROR,PLUGIN_ID,Util.getString(I18N_PREFIX + "String_Node_Str",info.getDataFile().getName())));
        return;
      }
    }
    setStatus(Status.OK_STATUS);
  }
  if (getStatus().isOK() && viewModelLocation != null && sourceModelLocation != null) {
    if (viewModelLocation.segmentCount() > 0 && sourceModelLocation.segmentCount() > 0) {
      if (!(viewModelLocation.segment(0).equalsIgnoreCase(sourceModelLocation.segment(0)))) {
        setStatus(new Status(IStatus.ERROR,PLUGIN_ID,Util.getString(I18N_PREFIX + "String_Node_Str")));
      }
    }
  }
}