public static Map<String, Map<String, Map<String, List<MavenPluginDescriptor>>>> getDescriptorsMap() {
    Map<String, Map<String, Map<String, List<MavenPluginDescriptor>>>> res = ourDescriptorsMap;
    if (res == null) {
      res = new HashMap<>();

      for (MavenPluginDescriptor pluginDescriptor : EP_NAME.getExtensions()) {
        Pair<String, String> pluginId = parsePluginId(pluginDescriptor.mavenId);

        Map<String, Map<String, List<MavenPluginDescriptor>>> groupMap = MavenUtil.getOrCreate(res, pluginId.second);// pluginId.second is artifactId

        Map<String, List<MavenPluginDescriptor>> goalsMap = MavenUtil.getOrCreate(groupMap, pluginId.first);// pluginId.first is groupId

        List<MavenPluginDescriptor> descriptorList = goalsMap.get(pluginDescriptor.goal);
        if (descriptorList == null) {
          descriptorList = new SmartList<>();
          goalsMap.put(pluginDescriptor.goal, descriptorList);
        }

        descriptorList.add(pluginDescriptor);
      }

      ourDescriptorsMap = res;
    }

    return res;
  }
public static Map<String, Map<String, Map<String, List<MavenPluginDescriptor>>>> getDescriptorsMap()