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 handleTypedef ( 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 TaskContainer container ; private Task task ; private RuntimeConfigurable parentWrapper ; private RuntimeConfigurable wrapper = null ; public TaskHandler ( DocumentHandler parentHandler , TaskContainer container , RuntimeConfigurable parentWrapper , 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 parent ; private Object child ; private RuntimeConfigurable parentWrapper ; private RuntimeConfigurable childWrapper = null ; private Target target ; public NestedElementHandler ( DocumentHandler parentHandler , Object parent , RuntimeConfigurable parentWrapper , Target target ) { } 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 Target target ; private Object element ; private RuntimeConfigurable wrapper = null ; public DataTypeHandler ( DocumentHandler parentHandler ) { } public DataTypeHandler ( DocumentHandler parentHandler , Target target ) { } 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 ( Project project , Object target , char [ ] buf , int start , int end ) throws BuildException { } public static void addText ( Project project , Object target , String text ) throws BuildException { <START_BUG> if ( ( text == null ) || ( ( text . trim ( ) . length ( ) ) == 0 ) ) { <END_BUG> return ; } if ( target instanceof TaskAdapter ) target = ( ( TaskAdapter ) ( target ) ) . getProxy ( ) ; IntrospectionHelper . getHelper ( target . getClass ( ) ) . addText ( project , target , text ) ; } public static void storeChild ( Project project , Object parent , Object child , String tag ) { } public static String replaceProperties ( Project project , String value ) throws BuildException { } public static String replaceProperties ( Project project , String value , Hashtable keys ) throws BuildException { } public static void parsePropertyString ( String value , Vector fragments , Vector propertyRefs ) throws BuildException { } private static SAXParserFactory getParserFactory ( ) { } private void configureId ( Object target , AttributeList attr ) { } }

Fix:
if ( text == null ) {