#fixed code
                                PropertiesManager(Class<? extends Config> clazz, Properties properties, Map<?, ?>... imports) {
        this.clazz = clazz;
        this.properties = properties;
        this.imports = imports;

        handler = new ConfigURLStreamHandler(clazz.getClassLoader(), expander);

        sources = clazz.getAnnotation(Sources.class);
        LoadPolicy loadPolicy = clazz.getAnnotation(LoadPolicy.class);
        loadType = (loadPolicy != null) ? loadPolicy.value() : FIRST;

        HotReload hotReload = clazz.getAnnotation(HotReload.class);
        if (sources != null && hotReload != null)
            syncHotReload = new SyncHotReload(clazz, handler, this);
        else
            syncHotReload = null;
    }
#vulnerable code 
                                String getProperty(String key) {
        if (syncHotReload != null)
            syncHotReload.checkAndReload(lastLoadTime);
        readLock.lock();
        try {
            return properties.getProperty(key);
        } finally {
            readLock.unlock();
        }
    } 
                            #location 3 
                            #vulnerability type THREAD_SAFETY_VIOLATION