docs: public synchronized ProviderLoader getLoaderForIdent(final ProviderIdent ident) throws ProviderLoaderException {
          final cacheItem cacheItem = cache.get(ident);
          if (null == cacheItem) {
              return rescanForItem(ident);
          }
  
          final File file = cacheItem.getFirst();
          if (cacheItem.getSecond().isExpired(ident, file)) {
              remove(ident);
              return rescanForItem(ident);
          } else {
              return loadFileProvider(cacheItem);
          }
      }