Buggy code:
public class JMeterUtils implements UnitTestManager { private static final String VERSION = "1.8.1" ; private static PatternCacheLRU patternCache = new PatternCacheLRU ( 1000 , new Perl5Compiler ( ) ) ; private static transient Logger log = Hierarchy . getDefaultHierarchy ( ) . getLoggerFor ( "jmeter.util" ) ; private static LoggingManager logManager ; private static String LOG_FILE = "log_file" ; private static String LOG_PRIORITY = "log_level" ; private static final SAXParserFactory xmlFactory ; private static Properties appProperties ; private static Collection localeChangeListeners = new HashSet ( ) ; private static Locale locale ; private static ResourceBundle resources ; private static ThreadLocal localMatcher = new ThreadLocal ( ) { protected Object initialValue ( ) { } } ; private static Random rand = new Random ( ) ; public static Perl5Matcher getMatcher ( ) { } public static Properties getProperties ( String file ) { Properties p = new Properties ( System . getProperties ( ) ) ; try { File f = new File ( file ) ; p . load ( new FileInputStream ( f ) ) ; } catch ( Exception e ) { try { <START_BUG> p . load ( JMeterUtils . class . getClassLoader ( ) . getSystemResourceAsStream ( "org//apache//jmeter//jmeter.properties" ) ) ; <END_BUG> } catch ( IOException ex ) { } } JMeterUtils . appProperties = p ; LoggingManager . initializeLogging ( JMeterUtils . appProperties ) ; JMeterUtils . log = LoggingManager . getLoggerFor ( JMeterUtils . UTIL ) ; String loc = JMeterUtils . appProperties . getProperty ( "language" ) ; if ( loc != null ) JMeterUtils . setLocale ( new Locale ( loc , "" ) ) ; else JMeterUtils . setLocale ( Locale . getDefault ( ) ) ; return p ; } public static PatternCacheLRU getPatternCache ( ) { } public void initializeProperties ( String file ) { } public static String [ ] getSearchPaths ( ) { } public static int getRandomInt ( int r ) { } public static void setLocale ( Locale loc ) { } public static Locale getLocale ( ) { } public static void addLocaleChangeListener ( LocaleChangeListener listener ) { } public static void removeLocaleChangeListener ( LocaleChangeListener listener ) { } private static void notifyLocaleChangeListeners ( ) { } public static String getResString ( String key ) { } public static Properties getJMeterProperties ( ) { } public static ImageIcon getImage ( String name ) { } public static String getResourceFileAsText ( String name ) { } public static Vector getTimers ( Properties properties ) { } public static Vector getVisualizers ( Properties properties ) { } public static Vector getControllers ( Properties properties ) { } public static String [ ] getTestSamples ( Properties properties , String name ) { } public static XMLReader getXMLParser ( Properties properties ) { } public static XMLReader getXMLParser ( ) { } public static Hashtable getAlias ( Properties properties ) { } public static Vector getVector ( Properties properties , String name ) { } public static Hashtable getHashtable ( Properties properties , String name ) { } public static int getPropDefault ( String propName , int defaultVal ) { } public static boolean getPropDefault ( String propName , boolean defaultVal ) { } public static long getPropDefault ( String propName , long defaultVal ) { } public static String getPropDefault ( String propName , String defaultVal ) { } public static void selJComboBoxItem ( Properties properties , JComboBox combo , Vector namVec , String name ) { } public static Object instantiate ( String className , String impls ) { } public static Vector instantiate ( Vector v , String className ) { } public static Vector tokenize ( String string , String separator ) { } public static JButton createButton ( String name , ActionListener listener ) { } public static JButton createSimpleButton ( String name , ActionListener listener ) { } public static String [ ] split ( String splittee , String splitChar , String def ) { } public static void reportErrorToUser ( String errorMsg ) { } public static int findInArray ( String [ ] array , String value ) { } public static String unsplit ( Object [ ] splittee , Object splitChar ) { } public static String unsplit ( Object [ ] splittee , Object splitChar , String def ) { } public static String getJMeterHome ( ) { } public static void setJMeterHome ( String home ) { } private static String jmDir ; public static final String JMETER = "jmeter" ; public static final String ENGINE = "jmeter.engine" ; public static final String ELEMENTS = "jmeter.elements" ; public static final String GUI = "jmeter.gui" ; public static final String UTIL = "jmeter.util" ; public static final String CLASSFINDER = "jmeter.util.classfinder" ; public static final String TEST = "jmeter.test" ; public static final String HTTP = "jmeter.protocol.http" ; public static final String JDBC = "jmeter.protocol.jdbc" ; public static final String FTP = "jmeter.protocol.ftp" ; public static final String JAVA = "jmeter.protocol.java" ; public static final String PROPERTIES = "jmeter.elements.properties" ; public static String getJMeterVersion ( ) { } }

Fix:
p . load ( ClassLoader . getSystemResourceAsStream ( "org//apache//jmeter//jmeter.properties" ) ) ;