Program: 44577
Project: 44577
Buggy source:
/** 
 * {@inheritDoc}
 */
@Override public void processTypeElement(final TypeElement annotation,final TypeElement element,final Collection<ExecutableElement> methods){
  PackageElement packageElement=elementUtils().getPackageOf(element);
  String packageName=packageElement.getQualifiedName().toString();
  String primaryClassName=getPrimaryClassName(element);
  primaryClassName=toQualifiedClassName(packageName,primaryClassName);
  String primaryClassNamePrefix=getPrimaryClassNamePrefix(element);
  String interfaceName=element.getSimpleName().toString();
  Map<String,String> elementTranslations=getAllMessageMethods(methods);
  try {
    String packagePath;
    if (translationFilesPath != null) {
      packagePath=translationFilesPath + packageName.replaceAll("String_Node_Str",FILE_SEPARATOR);
    }
 else {
      FileObject fObj=filer().getResource(StandardLocation.CLASS_OUTPUT,packageName,interfaceName);
      packagePath=fObj.toUri().getPath().replaceAll(Pattern.quote(interfaceName),FILE_SEPARATOR);
    }
    File dir=new File(packagePath);
    File[] files=dir.listFiles(new TranslationFileFilter(primaryClassNamePrefix));
    if (files != null) {
      for (      File file : files) {
        String classNameSuffix=getTranslationClassNameSuffix(file.getName());
        String qualifiedClassName=primaryClassName.concat(classNameSuffix);
        Map<String,String> translations=validateTranslationMessages(elementTranslations,file);
        this.generateSourceFile(primaryClassName,qualifiedClassName,translations);
      }
    }
  }
 catch (  IOException e) {
    logger().error(e,"String_Node_Str",packageName);
  }
}

Fixed version (ground truth):
/** 
 * {@inheritDoc}
 */
@Override public void processTypeElement(final TypeElement annotation,final TypeElement element,final Collection<ExecutableElement> methods){
  PackageElement packageElement=elementUtils().getPackageOf(element);
  String packageName=packageElement.getQualifiedName().toString();
  String primaryClassName=getPrimaryClassName(element);
  primaryClassName=toQualifiedClassName(packageName,primaryClassName);
  String primaryClassNamePrefix=getPrimaryClassNamePrefix(element);
  String interfaceName=element.getSimpleName().toString();
  Map<String,String> elementTranslations=getAllMessageMethods(methods);
  try {
    String packagePath;
    if (translationFilesPath != null) {
      packagePath=translationFilesPath + packageName.replaceAll("String_Node_Str",FILE_SEPARATOR);
    }
 else {
      FileObject fObj=filer().getResource(StandardLocation.CLASS_OUTPUT,packageName,interfaceName);
      packagePath=fObj.toUri().getPath().replaceAll(Pattern.quote(interfaceName),"String_Node_Str");
    }
    File dir=new File(packagePath);
    File[] files=dir.listFiles(new TranslationFileFilter(primaryClassNamePrefix));
    if (files != null) {
      for (      File file : files) {
        String classNameSuffix=getTranslationClassNameSuffix(file.getName());
        String qualifiedClassName=primaryClassName.concat(classNameSuffix);
        Map<String,String> translations=validateTranslationMessages(elementTranslations,file);
        this.generateSourceFile(primaryClassName,qualifiedClassName,translations);
      }
    }
  }
 catch (  IOException e) {
    logger().error(e,"String_Node_Str",packageName);
  }
}