/** * Method provides list of active providers - those which are valid and can be queried for metadata. Returned * value is a copy. * * @return active providers */ public List<MetadataProvider> getProviders() { try { lock.readLock().lock(); return new ArrayList<MetadataProvider>(super.getProviders()); } finally { lock.readLock().unlock(); } }