Program: 145922
Project: 145922
Buggy source:
@Override public List<TeamChange> revert(TestStructure testStructure,TranslationService translationService) throws SystemException {
  final List<TeamChange> result=new ArrayList<TeamChange>();
  if (LOGGER.isInfoEnabled()) {
    LOGGER.info("String_Node_Str" + testStructure.getFullName());
  }
  try {
    final TestProject testProject=testStructure.getRootElement();
    SVNClientManager clientManager=getSVNClientManager(testProject);
    SVNWCClient wcClient=clientManager.getWCClient();
    File fileToRevert=getFile(testStructure);
    wcClient.setEventHandler(new SVNLoggingEventHandler(listener,LOGGER){
      @Override public void handleEvent(      SVNEvent arg0,      double arg1) throws SVNException {
        super.handleEvent(arg0,arg1);
        TeamChange teamChange=new TeamChange(getTeamChangeTypeFrom(arg0),getRelativePathFrom(arg0),testProject);
        if (teamChange.getTeamChangeType() != null) {
          result.add(teamChange);
        }
      }
      private String getRelativePathFrom(      SVNEvent arg0){
        return convertFileToFullname(arg0.getFile(),testProject);
      }
      private TeamChangeType getTeamChangeTypeFrom(      SVNEvent arg0){
        if (arg0.getAction().equals(SVNEventAction.REVERT)) {
          return TeamChangeType.REVERT;
        }
        return null;
      }
    }
);
    Collection<String> changeList=new ArrayList<String>();
    File[] filesToReverted=new File[1];
    filesToReverted[0]=fileToRevert;
    String status=getStatus(testStructure,translationService);
    String[] splits=status.split("String_Node_Str");
    String searchString="String_Node_Str";
    wcClient.doRevert(filesToReverted,SVNDepth.INFINITY,changeList);
    for (    String split : splits) {
      if (split.contains(searchString)) {
        File fileToDeleteLc=new File(split.substring(0,split.lastIndexOf(searchString) - 1));
        if (fileToDeleteLc.isDirectory()) {
        }
      }
    }
    revertMemoryModel(testStructure);
  }
 catch (  SVNException e) {
    LOGGER.error(e.getMessage(),e);
    String message=substitudeSVNException(e,translationService);
    throw new SystemException(message,e);
  }
  return result;
}

Fixed version (ground truth):
@Override public List<TeamChange> revert(TestStructure testStructure,TranslationService translationService) throws SystemException {
  final List<TeamChange> result=new ArrayList<TeamChange>();
  if (LOGGER.isInfoEnabled()) {
    LOGGER.info("String_Node_Str" + testStructure.getFullName());
  }
  try {
    final TestProject testProject=testStructure.getRootElement();
    SVNClientManager clientManager=getSVNClientManager(testProject);
    SVNWCClient wcClient=clientManager.getWCClient();
    File fileToRevert=getFile(testStructure);
    wcClient.setEventHandler(new SVNLoggingEventHandler(listener,LOGGER){
      @Override public void handleEvent(      SVNEvent arg0,      double arg1) throws SVNException {
        super.handleEvent(arg0,arg1);
        TeamChange teamChange=new TeamChange(getTeamChangeTypeFrom(arg0),getRelativePathFrom(arg0),testProject);
        if (teamChange.getTeamChangeType() != null) {
          result.add(teamChange);
        }
      }
      private String getRelativePathFrom(      SVNEvent arg0){
        return convertFileToFullname(arg0.getFile(),testProject);
      }
      private TeamChangeType getTeamChangeTypeFrom(      SVNEvent arg0){
        if (arg0.getAction().equals(SVNEventAction.REVERT)) {
          return TeamChangeType.REVERT;
        }
        return null;
      }
    }
);
    Collection<String> changeList=new ArrayList<String>();
    File[] filesToReverted=new File[1];
    filesToReverted[0]=fileToRevert;
    String status=getStatus(testStructure,translationService);
    String[] splits=status.split("String_Node_Str");
    String searchString="String_Node_Str";
    wcClient.doRevert(filesToReverted,SVNDepth.INFINITY,changeList);
    for (    String split : splits) {
      if (split.contains(searchString)) {
        String fileName=split.substring(0,split.lastIndexOf(searchString) - 1);
        File fileToDeleteLc=new File(fileName);
        if (fileToDeleteLc.isDirectory()) {
        }
 else {
          if (!fileToDeleteLc.delete()) {
            throw new SystemException("String_Node_Str" + fileName);
          }
        }
      }
    }
    revertMemoryModel(testStructure);
  }
 catch (  SVNException e) {
    LOGGER.error(e.getMessage(),e);
    String message=substitudeSVNException(e,translationService);
    throw new SystemException(message,e);
  }
  return result;
}