code: public static SortedMap<String, String> getVersionMap(final String artifactId) {
  
          // Check sanity
          Validate.notEmpty(artifactId, "artifactNamePart");
  
          Exception extractionException = null;
  
          try {
              // Get the ClassLoader used
              final ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
              final List<URL> manifestURLs = Collections.list(
                      contextClassLoader.getResources(DEPENDENCIES_PROPERTIES_FILE));
  
              // Find the latest of the URLs matching, to cope with test-scope dependencies.
              URL matching = null;
              for (URL current : manifestURLs) {
                  if (current.toString().contains(artifactId)) {
                      matching = current;
                  }
              }
  
              if (matching != null) {
                  return getVersionMap(matching);
              }
  
          } catch (Exception e) {
              extractionException = e;
          }
  
          // We should never wind up here ...
          if (extractionException != null) {
              throw new IllegalStateException("Could not read data from manifest.", extractionException);
          } else {
              throw new IllegalStateException("Found no manifest corresponding to artifact name snippet '"
                      + artifactId + "'.");
          }
      }
docs: Extracts all build-time dependency information from a dependencies.properties file
  embedded in this plugin's JAR.
  
  @param artifactId This plugin's artifactId.
  @return A SortedMap relating [groupId]/[artifactId] keys to DependencyInfo values.
  @throws java.lang.IllegalStateException if no artifact in the current Thread's context ClassLoader
  contained the supplied artifactNamePart.