public void processFrameworks(Consumer<Framework> consumer) {
   ensureFrameworksLoaded();
   for (List<FrameworkInfo> frameworkInfos : myFrameworks.values()) {
     for (FrameworkInfo frameworkInfo : frameworkInfos) {
       Framework framework = frameworkInfo.getFramework();
       if (framework != null) {
         consumer.consume(framework);
       }
     }
   }
 }
  @Nullable
  private FrameworkInfo getFrameworkInfo(String version, String name) {
    ensureFrameworksLoaded();
    final List<FrameworkInfo> frameworkInfos = myFrameworks.get(version);
    if (frameworkInfos == null) return null;

    for (FrameworkInfo frameworkInfo : frameworkInfos) {
      if (frameworkInfo.getName().equals(name)) {
        return frameworkInfo;
      }
    }
    return null;
  }
 public boolean isIdSelector(String name, String sdkVersion, String frameworkName) {
   final FrameworkInfo info = getFrameworkInfo(sdkVersion, frameworkName);
   if (info == null) return false;
   Set<String> selectors = info.getIdSelectorNames();
   return selectors != null && selectors.contains(name);
 }
 @Nullable
 public Framework getFramework(String version, String name) {
   final FrameworkInfo frameworkInfo = getFrameworkInfo(version, name);
   return frameworkInfo != null ? frameworkInfo.getFramework() : null;
 }