Buggy code:
public class ProjectHelper { private static SAXParserFactory parserFactory = null ; private Parser parser ; private Project project ; private File buildFile ; private File buildFileParent ; private Locator locator ; public static void configureProject ( Project project , File buildFile ) throws BuildException { } private ProjectHelper ( Project project , File buildFile ) { } private void parse ( ) throws BuildException { } private class AbstractHandler extends HandlerBase { protected DocumentHandler parentHandler ; public AbstractHandler ( DocumentHandler parentHandler ) { } public void startElement ( String tag , AttributeList attrs ) throws SAXParseException { } public void characters ( char [ ] buf , int start , int end ) throws SAXParseException { } protected void finished ( ) { } public void endElement ( String name ) throws SAXException { } } private class RootHandler extends HandlerBase { public InputSource resolveEntity ( String publicId , String systemId ) { } public void startElement ( String tag , AttributeList attrs ) throws SAXParseException { } public void setDocumentLocator ( Locator locator ) { } } private class ProjectHandler extends ProjectHelper . AbstractHandler { public ProjectHandler ( DocumentHandler parentHandler ) { } public void init ( String tag , AttributeList attrs ) throws SAXParseException { } public void startElement ( String name , AttributeList attrs ) throws SAXParseException { } private void handleTaskdef ( String name , AttributeList attrs ) throws SAXParseException { } private void handleProperty ( String name , AttributeList attrs ) throws SAXParseException { } private void handleTarget ( String tag , AttributeList attrs ) throws SAXParseException { } private void handleDataType ( String name , AttributeList attrs ) throws SAXParseException { } } private class TargetHandler extends ProjectHelper . AbstractHandler { private Target target ; public TargetHandler ( DocumentHandler parentHandler ) { } public void init ( String tag , AttributeList attrs ) throws SAXParseException { } public void startElement ( String name , AttributeList attrs ) throws SAXParseException { } } private class TaskHandler extends ProjectHelper . AbstractHandler { private Target target ; private Task task ; private RuntimeConfigurable wrapper = null ; public TaskHandler ( DocumentHandler parentHandler , Target target ) { } public void init ( String tag , AttributeList attrs ) throws SAXParseException { } protected void finished ( ) { } public void characters ( char [ ] buf , int start , int end ) throws SAXParseException { } public void startElement ( String name , AttributeList attrs ) throws SAXParseException { } } private class NestedElementHandler extends ProjectHelper . AbstractHandler { private Object target ; private Object child ; private RuntimeConfigurable parentWrapper ; private RuntimeConfigurable childWrapper = null ; public NestedElementHandler ( DocumentHandler parentHandler , Object target , RuntimeConfigurable parentWrapper ) { } public void init ( String propType , AttributeList attrs ) throws SAXParseException { } public void characters ( char [ ] buf , int start , int end ) throws SAXParseException { } public void startElement ( String name , AttributeList attrs ) throws SAXParseException { } } private class DataTypeHandler extends ProjectHelper . AbstractHandler { private Object element ; public DataTypeHandler ( DocumentHandler parentHandler ) { } public void init ( String propType , AttributeList attrs ) throws SAXParseException { } public void characters ( char [ ] buf , int start , int end ) throws SAXParseException { } public void startElement ( String name , AttributeList attrs ) throws SAXParseException { } } public static void configure ( Object target , AttributeList attrs , Project project ) throws BuildException { } public static void addText ( Object target , char [ ] buf , int start , int end ) throws BuildException { } public static void addText ( Object target , String text ) throws BuildException { } public static String replaceProperties ( Project project , String value , Hashtable keys ) throws BuildException { StringBuffer sb = new StringBuffer ( ) ; int i = 0 ; int prev = 0 ; int pos ; while ( ( pos = value . indexOf ( "$" , prev ) ) >= 0 ) { if ( pos > 0 ) { sb . append ( value . substring ( prev , pos ) ) ; } if ( pos == ( ( value . length ( ) ) - 1 ) ) { sb . append ( '$' ) ; prev = pos + 1 ; } else if ( ( value . charAt ( ( pos + 1 ) ) ) != '{' ) { sb . append ( value . charAt ( ( pos + 1 ) ) ) ; prev = pos + 2 ; } else { int endName = value . indexOf ( '}' , pos ) ; if ( endName < 0 ) { throw new BuildException ( ( "Syntax<seq2seq4repair_space>error<seq2seq4repair_space>in<seq2seq4repair_space>prop:<seq2seq4repair_space>" + value ) ) ; } String n = value . substring ( ( pos + 2 ) , endName ) ; if ( ! ( keys . containsKey ( n ) ) ) { <START_BUG> project . log ( ( ( "Property<seq2seq4repair_space>${" + n ) + "}<seq2seq4repair_space>has<seq2seq4repair_space>not<seq2seq4repair_space>been<seq2seq4repair_space>set" ) , MSG_WARN ) ; <END_BUG> } String v = ( keys . containsKey ( n ) ) ? ( ( String ) ( keys . get ( n ) ) ) : ( "${" + n ) + "}" ; sb . append ( v ) ; prev = endName + 1 ; } } if ( prev < ( value . length ( ) ) ) sb . append ( value . substring ( prev ) ) ; return sb . toString ( ) ; } private static SAXParserFactory getParserFactory ( ) { } private void configureId ( Object target , AttributeList attr ) { } }

Fix:
project . log ( ( ( "Property<seq2seq4repair_space>${" + n ) + "}<seq2seq4repair_space>has<seq2seq4repair_space>not<seq2seq4repair_space>been<seq2seq4repair_space>set" ) , MSG_VERBOSE ) ;