code: @SuppressWarnings("squid:S2201") // ignore return values
    private LoadingCache<Object, Optional<Map<String, Object>>> getEntityCache(
        Repository<Entity> repository) {
      String id = repository.getEntityType().getId();
      if (!caches.containsKey(id)) {
        caches.putIfAbsent(id, createEntityCache(repository));
      }
      return caches.get(id);
    }
docs: Gets the existing entity cache for a {@link Repository} or creates a new one if no cache exists
  yet.
  
  @param repository the Repository used to create a new cache if none found, otherwise only the
  id of the repository is used to look up the existing cache
  @return the LoadingCache for the repository