private Collection<Processor> getWithCache(String key, Supplier<Collection<Processor>> function) {
    return PROCESSOR_CACHE.computeIfAbsent(key, s -> function.get());
  }
private Collection<Processor> getWithCache(String key, Supplier<Collection<Processor>> function)