protected final @NotNull List<T> buildExtensions(@NotNull Set<String> keys) {
    List<KeyedLazyInstance<T>> extensions = getExtensions();
    synchronized (lock) {
      List<T> explicit = buildExtensionsFromExplicitRegistration(keys::contains);
      List<T> result = buildExtensionsFromExtensionPoint(bean -> {
        String key;
        try {
          key = bean.getKey();
        }
        catch (IllegalStateException e) {
          LOG.error(e);
          return false;
        }

        return keys.contains(key);
      }, extensions);
      return toPersistentList(explicit).addAll(result);
    }
  }
protected final @NotNull List<T> buildExtensions(@NotNull Set<String> keys)