Buggy code:
public class GenericDeploymentTool implements EJBDeploymentTool { public static final int DEFAULT_BUFFER_SIZE = 1024 ; public static final int JAR_COMPRESS_LEVEL = 9 ; protected static final String META_DIR = "META-INF//" ; protected static final String MANIFEST = ( GenericDeploymentTool . META_DIR ) + "MANIFEST.MF" ; protected static final String EJB_DD = "ejb-jar.xml" ; public static final String ANALYZER_SUPER = "super" ; public static final String ANALYZER_FULL = "full" ; public static final String ANALYZER_NONE = "none" ; public static final String DEFAULT_ANALYZER = GenericDeploymentTool . ANALYZER_SUPER ; public static final String ANALYZER_CLASS_SUPER = "org.apache.tools.ant.util.depend.bcel.AncestorAnalyzer" ; public static final String ANALYZER_CLASS_FULL = "org.apache.tools.ant.util.depend.bcel.FullAnalyzer" ; private Config config ; private File destDir ; private Path classpath ; private String genericJarSuffix = "-generic.jar" ; private Task task ; private ClassLoader classpathLoader = null ; private Set addedfiles ; private DescriptorHandler handler ; private DependencyAnalyzer dependencyAnalyzer ; public GenericDeploymentTool ( ) { } public void setDestdir ( File inDir ) { } protected File getDestDir ( ) { } public void setTask ( Task task ) { } protected Task getTask ( ) { } protected Config getConfig ( ) { } protected boolean usingBaseJarName ( ) { } public void setGenericJarSuffix ( String inString ) { } public Path createClasspath ( ) { } public void setClasspath ( Path classpath ) { } protected Path getCombinedClasspath ( ) { } protected void log ( String message , int level ) { } protected Location getLocation ( ) { } private void createAnalyzer ( ) { } public void configure ( EjbJar . Config config ) { } protected void addFileToJar ( JarOutputStream jStream , File inputFile , String logicalFilename ) throws BuildException { } protected DescriptorHandler getDescriptorHandler ( File srcDir ) { } protected void registerKnownDTDs ( DescriptorHandler handler ) { } public void processDescriptor ( String descriptorFileName , SAXParser saxParser ) { checkConfiguration ( descriptorFileName , saxParser ) ; try { handler = getDescriptorHandler ( config . srcDir ) ; Hashtable ejbFiles = parseEjbFiles ( descriptorFileName , saxParser ) ; addSupportClasses ( ejbFiles ) ; String baseName = getJarBaseName ( descriptorFileName ) ; String ddPrefix = getVendorDDPrefix ( baseName , descriptorFileName ) ; File manifestFile = getManifestFile ( ddPrefix ) ; if ( manifestFile != null ) { ejbFiles . put ( GenericDeploymentTool . MANIFEST , manifestFile ) ; } ejbFiles . put ( ( ( GenericDeploymentTool . META_DIR ) + ( GenericDeploymentTool . EJB_DD ) ) , new File ( config . descriptorDir , descriptorFileName ) ) ; addVendorFiles ( ejbFiles , ddPrefix ) ; checkAndAddDependants ( ejbFiles ) ; if ( ( config . flatDestDir ) && ( ( baseName . length ( ) ) != 0 ) ) { int startName = baseName . lastIndexOf ( File . separator ) ; if ( startName == ( - 1 ) ) { startName = 0 ; } int endName = baseName . length ( ) ; baseName = baseName . substring ( startName , endName ) ; } File jarFile = getVendorOutputJarFile ( baseName ) ; if ( needToRebuild ( ejbFiles , jarFile ) ) { log ( ( ( ( ( "building<seq2seq4repair_space>" + ( jarFile . getName ( ) ) ) + "<seq2seq4repair_space>with<seq2seq4repair_space>" ) + ( String . valueOf ( ejbFiles . size ( ) ) ) ) + "<seq2seq4repair_space>files" ) , MSG_INFO ) ; String publicId = getPublicId ( ) ; writeJar ( baseName , jarFile , ejbFiles , publicId ) ; } else { log ( ( ( jarFile . toString ( ) ) + "<seq2seq4repair_space>is<seq2seq4repair_space>up<seq2seq4repair_space>to<seq2seq4repair_space>date." ) , MSG_VERBOSE ) ; } } catch ( SAXException se ) { String msg = ( ( ( "SAXException<seq2seq4repair_space>while<seq2seq4repair_space>parsing<seq2seq4repair_space>'" + descriptorFileName ) + "'.<seq2seq4repair_space>This<seq2seq4repair_space>probably<seq2seq4repair_space>indicates<seq2seq4repair_space>badly-formed<seq2seq4repair_space>XML." ) + "<seq2seq4repair_space>Details:<seq2seq4repair_space>" ) + ( se . getMessage ( ) ) ; throw new BuildException ( msg , se ) ; } catch ( IOException ioe ) { <START_BUG> String msg = ( ( ( "IOException<seq2seq4repair_space>while<seq2seq4repair_space>parsing'" + ( descriptorFileName . toString ( ) ) ) + "'.<seq2seq4repair_space>This<seq2seq4repair_space>probably<seq2seq4repair_space>indicates<seq2seq4repair_space>that<seq2seq4repair_space>the<seq2seq4repair_space>descriptor" ) + "<seq2seq4repair_space>doesn't<seq2seq4repair_space>exist.<seq2seq4repair_space>Details:<seq2seq4repair_space>" ) + ( ioe . getMessage ( ) ) ; <END_BUG> throw new BuildException ( msg , ioe ) ; } } protected void checkConfiguration ( String descriptorFileName , SAXParser saxParser ) throws BuildException { } protected Hashtable parseEjbFiles ( String descriptorFileName , SAXParser saxParser ) throws IOException , SAXException { } protected void addSupportClasses ( Hashtable ejbFiles ) { } protected String getJarBaseName ( String descriptorFileName ) { } public String getVendorDDPrefix ( String baseName , String descriptorFileName ) { } protected void addVendorFiles ( Hashtable ejbFiles , String ddPrefix ) { } File getVendorOutputJarFile ( String baseName ) { } protected boolean needToRebuild ( Hashtable ejbFiles , File jarFile ) { } protected String getPublicId ( ) { } protected File getManifestFile ( String prefix ) { } protected void writeJar ( String baseName , File jarfile , Hashtable files , String publicId ) throws BuildException { } protected void checkAndAddDependants ( Hashtable checkEntries ) throws BuildException { } protected ClassLoader getClassLoaderForBuild ( ) { } public void validateConfigured ( ) throws BuildException { } }

Fix:
String msg = ( ( ( "IOException<seq2seq4repair_space>while<seq2seq4repair_space>parsing'" + descriptorFileName ) + "'.<seq2seq4repair_space>This<seq2seq4repair_space>probably<seq2seq4repair_space>indicates<seq2seq4repair_space>that<seq2seq4repair_space>the<seq2seq4repair_space>descriptor" ) + "<seq2seq4repair_space>doesn't<seq2seq4repair_space>exist.<seq2seq4repair_space>Details:<seq2seq4repair_space>" ) + ( ioe . getMessage ( ) ) ;