private PersistentList<T> buildExtensionsWithInheritance(Set<String> supers) {
    List<KeyedLazyInstance<T>> extensions = getExtensions();
    synchronized (lock) {
      PersistentList<T> result = persistentListOf();
      for (String aSuper : supers) {
        result = result.addAll(buildExtensionsFromExplicitRegistration(key -> aSuper.equals(key)));
      }
      for (String aSuper : supers) {
        result = result.addAll(buildExtensionsFromExtensionPoint(bean -> aSuper.equals(bean.getKey()), extensions));
      }
      return result;
    }
  }
private PersistentList<T> buildExtensionsWithInheritance(Set<String> supers)