#vulnerable code 
                             private synchronized static void load() {
		try {
            if(!properties.isEmpty())return;
			File dir = new File(Thread.currentThread().getContextClassLoader().getResource("").getPath());

			File[] propFiles = dir.listFiles(new FilenameFilter() {
				@Override
				public boolean accept(File dir, String name) {
					return name.endsWith("properties");
				}
			});

			for (File file : propFiles) {
				Properties p = new Properties();
				p.load(new FileReader(file));
				properties.add(p);
			}
			inited = true;
		} catch (Exception e) {
			inited = true;
			throw new RuntimeException(e);
		}
	} 
                            #location 15 
                            #vulnerability type RESOURCE_LEAK
#fixed code
                             private synchronized static void load() {
		try {
            if(inited)return;
			File dir = new File(Thread.currentThread().getContextClassLoader().getResource("").getPath());
			loadPropertiesFromFile(dir);
			inited = true;
		} catch (Exception e) {
			inited = true;
			throw new RuntimeException(e);
		}
	}