Buggy code:
public static final String TOKEN_START = FilterSet . DEFAULT_TOKEN_START ; public static final String TOKEN_END = FilterSet . DEFAULT_TOKEN_END ; private String name ; private String description ; private Hashtable references = new Project . AntRefTable ( this ) ; private String defaultTarget ; private Hashtable targets = new Hashtable ( ) ; private FilterSet globalFilterSet = new FilterSet ( ) ; private FilterSetCollection globalFilters = new FilterSetCollection ( globalFilterSet ) ; private File baseDir ; private Vector listeners = new Vector ( ) ; private ClassLoader coreLoader = null ; private Hashtable threadTasks = new Hashtable ( ) ; private Hashtable threadGroupTasks = new Hashtable ( ) ; private InputHandler inputHandler = null ; private InputStream defaultInputStream = null ; private boolean keepGoingMode = false ; public void setInputHandler ( InputHandler handler ) { } public void setDefaultInputStream ( InputStream defaultInputStream ) { } public InputStream getDefaultInputStream ( ) { } public InputHandler getInputHandler ( ) { } private FileUtils fileUtils ; private boolean loggingMessage = false ; public Project ( ) { } public void initSubProject ( Project subProject ) { } public void init ( ) throws BuildException { } private AntClassLoader createClassLoader ( ) { } public AntClassLoader createClassLoader ( Path path ) { } public void setCoreLoader ( ClassLoader coreLoader ) { } public ClassLoader getCoreLoader ( ) { } public synchronized void addBuildListener ( BuildListener listener ) { } public synchronized void removeBuildListener ( BuildListener listener ) { } public Vector getBuildListeners ( ) { } public void log ( String message ) { } public void log ( String message , int msgLevel ) { } public void log ( Task task , String message , int msgLevel ) { } public void log ( Target target , String message , int msgLevel ) { } public FilterSet getGlobalFilterSet ( ) { } public void setProperty ( String name , String value ) { } public void setNewProperty ( String name , String value ) { } public void setUserProperty ( String name , String value ) { } public void setInheritedProperty ( String name , String value ) { } private void setPropertyInternal ( String name , String value ) { } public String getProperty ( String name ) { } public String replaceProperties ( String value ) throws BuildException { } public String getUserProperty ( String name ) { } public Hashtable getProperties ( ) { } public Hashtable getUserProperties ( ) { } public void copyUserProperties ( Project other ) { } public void copyInheritedProperties ( Project other ) { } public void setDefaultTarget ( String defaultTarget ) { } public String getDefaultTarget ( ) { } public void setDefault ( String defaultTarget ) { } public void setName ( String name ) { } public String getName ( ) { } public void setDescription ( String description ) { } public String getDescription ( ) { } public void addFilter ( String token , String value ) { } public Hashtable getFilters ( ) { } public void setBasedir ( String baseD ) throws BuildException { } public void setBaseDir ( File baseDir ) throws BuildException { } public File getBaseDir ( ) { } public void setKeepGoingMode ( boolean keepGoingMode ) { } public boolean isKeepGoingMode ( ) { } public static String getJavaVersion ( ) { } public void setJavaVersionProperty ( ) throws BuildException { } public void setSystemProperties ( ) { Properties systemP = System . getProperties ( ) ; <START_BUG> Enumeration e = systemP . keys ( ) ; <END_BUG> while ( e . hasMoreElements ( ) ) { Object name = e . nextElement ( ) ; String value = systemP . get ( name ) . toString ( ) ; this . setPropertyInternal ( name . toString ( ) , value ) ; } } public void addTaskDefinition ( String taskName , Class taskClass ) throws BuildException { } public void checkTaskClass ( final Class taskClass ) throws BuildException { } public Hashtable getTaskDefinitions ( ) { } public void addDataTypeDefinition ( String typeName , Class typeClass ) { } public Hashtable getDataTypeDefinitions ( ) { } public void addTarget ( Target target ) throws BuildException { } public void addTarget ( String targetName , Target target ) throws BuildException { } public void addOrReplaceTarget ( Target target ) { } public void addOrReplaceTarget ( String targetName , Target target ) { } public Hashtable getTargets ( ) { } public Task createTask ( String taskType ) throws BuildException { } public Object createDataType ( String typeName ) throws BuildException { } public void executeTargets ( Vector targetNames ) throws BuildException { } public void demuxOutput ( String output , boolean isWarning ) { } public int defaultInput ( byte [ ] buffer , int offset , int length ) throws IOException { } public int demuxInput ( byte [ ] buffer , int offset , int length ) throws IOException { } public void demuxFlush ( String output , boolean isError ) { } public void executeTarget ( String targetName ) throws BuildException { } public void executeSortedTargets ( Vector sortedTargets ) throws BuildException { } public File resolveFile ( String fileName , File rootDir ) { } public File resolveFile ( String fileName ) { } public static String translatePath ( String toProcess ) { } public void copyFile ( String sourceFile , String destFile ) throws IOException { } public void copyFile ( String sourceFile , String destFile , boolean filtering ) throws IOException { } public void copyFile ( String sourceFile , String destFile , boolean filtering , boolean overwrite ) throws IOException { } public void copyFile ( String sourceFile , String destFile , boolean filtering , boolean overwrite , boolean preserveLastModified ) throws IOException { } public void copyFile ( File sourceFile , File destFile ) throws IOException { } public void copyFile ( File sourceFile , File destFile , boolean filtering ) throws IOException { }

Fix:
Enumeration e = systemP . propertyNames ( ) ;