Program: 141744
Project: 141744
Buggy source:
private List<String> getAllPaths() throws CoreException {
  List<String> paths=new ArrayList<String>();
  for (  String wsdlLocation : wsdlLocations) {
    Definition wsdlDefinition=WSDLUtils.getDefinition(wsdlLocation);
    wsdlDefinitions.add(wsdlDefinition);
    SchemaUtil schemaUtil=new SchemaUtil(wsdlDefinition);
    Map<QName,Binding> bindings=wsdlDefinition.getBindings();
    List<PortType> portTypes=new ArrayList<PortType>(bindings.size());
    List<String> alreadyCreated=new ArrayList<String>();
    for (    Binding binding : bindings.values()) {
      PortType portType=binding.getPortType();
      if (!portTypes.contains(portType)) {
        portTypes.add(portType);
        List<BindingOperation> operations=binding.getBindingOperations();
        for (        BindingOperation operation : operations) {
          Operation oper=operation.getOperation();
          Input inDef=oper.getInput();
          if (inDef != null) {
            Message inMsg=inDef.getMessage();
            if (inMsg != null) {
              ParameterInfo parameterFromMessage=schemaUtil.getParameterFromMessage(inMsg);
              if (alreadyCreated.contains(parameterFromMessage.getName())) {
                continue;
              }
 else {
                alreadyCreated.add(parameterFromMessage.getName());
              }
              String folderPath=null;
              try {
                folderPath=FolderNameUtil.getImportedXmlSchemaPath(parameterFromMessage.getNameSpace(),portType.getQName().getLocalPart(),oper.getName());
                IPath path=new Path(folderPath);
                if (!paths.contains(path.toString())) {
                  paths.add(path.toString());
                }
              }
 catch (              URISyntaxException e) {
                ExceptionHandler.process(e);
              }
            }
          }
          Output outDef=oper.getOutput();
          if (outDef != null) {
            Message outMsg=outDef.getMessage();
            if (outMsg != null) {
              ParameterInfo parameterFromMessage=schemaUtil.getParameterFromMessage(outMsg);
              if (alreadyCreated.contains(parameterFromMessage.getName())) {
                continue;
              }
 else {
                alreadyCreated.add(parameterFromMessage.getName());
              }
              String folderPath=null;
              try {
                folderPath=FolderNameUtil.getImportedXmlSchemaPath(parameterFromMessage.getNameSpace(),portType.getQName().getLocalPart(),oper.getName());
                IPath path=new Path(folderPath);
                if (!paths.contains(path.toString())) {
                  paths.add(path.toString());
                }
              }
 catch (              URISyntaxException e) {
                ExceptionHandler.process(e);
              }
            }
          }
          Collection<Fault> faults=oper.getFaults().values();
          for (          Fault fault : faults) {
            Message faultMsg=fault.getMessage();
            if (faultMsg != null) {
              ParameterInfo parameterFromMessage=schemaUtil.getParameterFromMessage(faultMsg);
              if (alreadyCreated.contains(parameterFromMessage.getName())) {
                continue;
              }
 else {
                alreadyCreated.add(parameterFromMessage.getName());
              }
              String folderPath=null;
              try {
                folderPath=FolderNameUtil.getImportedXmlSchemaPath(parameterFromMessage.getNameSpace(),portType.getQName().getLocalPart(),oper.getName());
                IPath path=new Path(folderPath);
                if (!paths.contains(path.toString())) {
                  paths.add(path.toString());
                }
              }
 catch (              URISyntaxException e) {
                ExceptionHandler.process(e);
              }
            }
          }
        }
      }
    }
  }
  return paths;
}

Fixed version (ground truth):
private List<String> getAllPaths() throws CoreException {
  List<String> paths=new ArrayList<String>();
  for (  String wsdlLocation : wsdlLocations) {
    Definition wsdlDefinition=WSDLUtils.getDefinition(wsdlLocation);
    SchemaUtil schemaUtil=new SchemaUtil(wsdlDefinition);
    Map<QName,Binding> bindings=wsdlDefinition.getBindings();
    List<PortType> portTypes=new ArrayList<PortType>(bindings.size());
    List<String> alreadyCreated=new ArrayList<String>();
    for (    Binding binding : bindings.values()) {
      PortType portType=binding.getPortType();
      if (!portTypes.contains(portType)) {
        portTypes.add(portType);
        List<BindingOperation> operations=binding.getBindingOperations();
        for (        BindingOperation operation : operations) {
          Operation oper=operation.getOperation();
          Input inDef=oper.getInput();
          if (inDef != null) {
            Message inMsg=inDef.getMessage();
            if (inMsg != null) {
              ParameterInfo parameterFromMessage=schemaUtil.getParameterFromMessage(inMsg);
              if (alreadyCreated.contains(parameterFromMessage.getName())) {
                continue;
              }
 else {
                alreadyCreated.add(parameterFromMessage.getName());
              }
              String folderPath=null;
              try {
                folderPath=FolderNameUtil.getImportedXmlSchemaPath(parameterFromMessage.getNameSpace(),portType.getQName().getLocalPart(),oper.getName());
                IPath path=new Path(folderPath);
                if (!paths.contains(path.toString())) {
                  paths.add(path.toString());
                }
              }
 catch (              URISyntaxException e) {
                ExceptionHandler.process(e);
              }
            }
          }
          Output outDef=oper.getOutput();
          if (outDef != null) {
            Message outMsg=outDef.getMessage();
            if (outMsg != null) {
              ParameterInfo parameterFromMessage=schemaUtil.getParameterFromMessage(outMsg);
              if (alreadyCreated.contains(parameterFromMessage.getName())) {
                continue;
              }
 else {
                alreadyCreated.add(parameterFromMessage.getName());
              }
              String folderPath=null;
              try {
                folderPath=FolderNameUtil.getImportedXmlSchemaPath(parameterFromMessage.getNameSpace(),portType.getQName().getLocalPart(),oper.getName());
                IPath path=new Path(folderPath);
                if (!paths.contains(path.toString())) {
                  paths.add(path.toString());
                }
              }
 catch (              URISyntaxException e) {
                ExceptionHandler.process(e);
              }
            }
          }
          Collection<Fault> faults=oper.getFaults().values();
          for (          Fault fault : faults) {
            Message faultMsg=fault.getMessage();
            if (faultMsg != null) {
              ParameterInfo parameterFromMessage=schemaUtil.getParameterFromMessage(faultMsg);
              if (alreadyCreated.contains(parameterFromMessage.getName())) {
                continue;
              }
 else {
                alreadyCreated.add(parameterFromMessage.getName());
              }
              String folderPath=null;
              try {
                folderPath=FolderNameUtil.getImportedXmlSchemaPath(parameterFromMessage.getNameSpace(),portType.getQName().getLocalPart(),oper.getName());
                IPath path=new Path(folderPath);
                if (!paths.contains(path.toString())) {
                  paths.add(path.toString());
                }
              }
 catch (              URISyntaxException e) {
                ExceptionHandler.process(e);
              }
            }
          }
        }
      }
    }
  }
  return paths;
}