Buggy code:
private String proxyPort = null ; private String proxyUsername = null ; private String proxyPassword = null ; private String customPropertiesFile = null ; private String jMeterGlobalPropertiesFile = null ; private String testFile = null ; private String resultsFile = null ; private String jmeterDefaultPropertiesFile = null ; private String jMeterHome = null ; private String reportDirectory = null ; private String overrideRootLogLevel = null ; private Map jMeterUserProperties = null ; private Map jMeterGlobalProperties = null ; private Map systemProperties = null ; private Map overrideLogCategories = null ; private static Utilities util = new Utilities ( ) ; public JMeterArgumentsArray ( String reportDirectory ) { } public void setProxyHostDetails ( String value , int port ) { } public void setProxyUsername ( String value ) { } public void setProxyPassword ( String value ) { } public void setUseRemoteHost ( Boolean value ) { } public void setACustomPropertiesFile ( File value ) { } public void setUserProperties ( Map value ) { } public void setGlobalProperties ( Map value ) { } public void setGlobalPropertiesFile ( File value ) { } public void setLogCategoriesOverrides ( Map value ) { } public void setLogRootOverride ( String value ) { } public void setSystemProperties ( Map value ) { } public void setTestFile ( File value ) { } public void setJMeterDefaultPropertiesFile ( File value ) { } public void setJMeterHome ( String value ) { } public String getResultsFilename ( ) { } public String getProxyDetails ( ) { } public String [ ] buildArgumentsArray ( ) throws MojoExecutionException { if ( ! ( argumentMap . get ( TESTFILE_OPT ) ) ) { throw new MojoExecutionException ( "No<seq2seq4repair_space>test<seq2seq4repair_space>specified!" ) ; } else if ( ! ( argumentMap . get ( LOGFILE_OPT ) ) ) { throw new MojoExecutionException ( "Log<seq2seq4repair_space>file<seq2seq4repair_space>not<seq2seq4repair_space>set!" ) ; } else if ( ! ( argumentMap . get ( PROPFILE_OPT ) ) ) { throw new MojoExecutionException ( "Properties<seq2seq4repair_space>file<seq2seq4repair_space>not<seq2seq4repair_space>set!" ) ; } else if ( ! ( argumentMap . get ( JMETER_HOME_OPT ) ) ) { throw new MojoExecutionException ( "JMETER_HOME<seq2seq4repair_space>not<seq2seq4repair_space>set!" ) ; } ArrayList < String > argumentsArray = new ArrayList < String > ( ) ; Iterator mapIterator = argumentMap . entrySet ( ) . iterator ( ) ; while ( mapIterator . hasNext ( ) ) { Map . Entry < JMeterCommandLineArguments , Boolean > argument = ( ( Map . Entry < JMeterCommandLineArguments , Boolean > ) ( mapIterator . next ( ) ) ) ; if ( argument . getValue ( ) ) { switch ( argument . getKey ( ) ) { case NONGUI_OPT : argumentsArray . add ( NONGUI_OPT . getCommandLineArgument ( ) ) ; break ; case TESTFILE_OPT : argumentsArray . add ( TESTFILE_OPT . getCommandLineArgument ( ) ) ; argumentsArray . add ( this . testFile ) ; break ; case LOGFILE_OPT : argumentsArray . add ( LOGFILE_OPT . getCommandLineArgument ( ) ) ; argumentsArray . add ( this . resultsFile ) ; break ; case PROPFILE_OPT : argumentsArray . add ( PROPFILE_OPT . getCommandLineArgument ( ) ) ; argumentsArray . add ( this . jmeterDefaultPropertiesFile ) ; break ; case JMETER_HOME_OPT : argumentsArray . add ( JMETER_HOME_OPT . getCommandLineArgument ( ) ) ; argumentsArray . add ( this . jMeterHome ) ; break ; case JMETER_PROPERTY : Set < String > userPropertySet = ( ( Set < String > ) ( this . jMeterUserProperties . keySet ( ) ) ) ; for ( String property : userPropertySet ) { argumentsArray . add ( JMETER_PROPERTY . getCommandLineArgument ( ) ) ; argumentsArray . add ( ( ( property + "=" ) + ( this . jMeterUserProperties . get ( property ) ) ) ) ; } break ; case JMETER_GLOBAL_PROP : if ( ( this . jMeterGlobalPropertiesFile ) == null ) { <START_BUG> Set < String > globalPropertySet = ( ( Set < String > ) ( this . jMeterUserProperties . keySet ( ) ) ) ; <END_BUG> for ( String property : globalPropertySet ) { argumentsArray . add ( JMETER_GLOBAL_PROP . getCommandLineArgument ( ) ) ; argumentsArray . add ( ( ( property + "=" ) + ( this . jMeterGlobalProperties . get ( property ) ) ) ) ; } } else { argumentsArray . add ( JMETER_GLOBAL_PROP . getCommandLineArgument ( ) ) ; argumentsArray . add ( this . jMeterGlobalPropertiesFile ) ; } break ; case LOGLEVEL : if ( ( this . overrideRootLogLevel ) == null ) { Set < String > logCategorySet = ( ( Set < String > ) ( this . overrideLogCategories . keySet ( ) ) ) ; for ( String category : logCategorySet ) { argumentsArray . add ( LOGLEVEL . getCommandLineArgument ( ) ) ; argumentsArray . add ( ( ( category + "=" ) + ( this . overrideLogCategories . get ( category ) ) ) ) ; } } else { argumentsArray . add ( LOGLEVEL . getCommandLineArgument ( ) ) ; argumentsArray . add ( this . overrideRootLogLevel ) ; } break ; case SYSTEM_PROPERTY : Set < String > systemPropertySet = ( ( Set < String > ) ( this . systemProperties . keySet ( ) ) ) ; for ( String property : systemPropertySet ) { argumentsArray . add ( SYSTEM_PROPERTY . getCommandLineArgument ( ) ) ; argumentsArray . add ( ( ( property + "=" ) + ( this . jMeterUserProperties . get ( property ) ) ) ) ; } break ; case PROPFILE2_OPT : argumentsArray . add ( PROPFILE2_OPT . getCommandLineArgument ( ) ) ; argumentsArray . add ( this . customPropertiesFile ) ; break ; case REMOTE_OPT : argumentsArray . add ( REMOTE_OPT . getCommandLineArgument ( ) ) ; break ; case PROXY_HOST : argumentsArray . add ( PROXY_HOST . getCommandLineArgument ( ) ) ; argumentsArray . add ( this . proxyHost ) ; break ; case PROXY_PORT : argumentsArray . add ( PROXY_PORT . getCommandLineArgument ( ) ) ;

Fix:
Set < String > globalPropertySet = ( ( Set < String > ) ( this . jMeterGlobalProperties . keySet ( ) ) ) ;