#fixed code
                              @Override
  public PropertyStore<ZNRecord> getPropertyStore()
  {
    checkConnected();

    synchronized (_propertyStoreRef)
    {
      if (_propertyStoreRef.get() == null)
      {
        String path =
            PropertyPathConfig.getPath(PropertyType.PROPERTYSTORE, _clusterName);
        // property store uses a different serializer
        ZkClient zkClient = new ZkClient(_zkConnectString, CONNECTIONTIMEOUT);

        PropertyStore<ZNRecord>_propertyStore =
            new ZKPropertyStore<ZNRecord>(zkClient, new ZNRecordJsonSerializer(), path);
        _propertyStoreRef.set(_propertyStore);
      }
    }
    return _propertyStoreRef.get();
  }
#vulnerable code 
                              @Override
  public PropertyStore<ZNRecord> getPropertyStore()
  {
    checkConnected();

    synchronized (_propertyStore)
    {
      if (_propertyStore == null)
      {
        String path =
            PropertyPathConfig.getPath(PropertyType.PROPERTYSTORE, _clusterName);
        // property store uses a different serializer
        ZkClient zkClient = new ZkClient(_zkConnectString, CONNECTIONTIMEOUT);

        _propertyStore =
            new ZKPropertyStore<ZNRecord>(zkClient, new ZNRecordJsonSerializer(), path);
      }
    }
    return _propertyStore;
  } 
                            #location 19 
                            #vulnerability type THREAD_SAFETY_VIOLATION