code: String toTag(Archive source, String name, Archive target) {
          if (source == target || !target.getModule().isNamed()) {
              return target.getName();
          }
  
          Module module = target.getModule();
          String pn = name;
          if ((type == CLASS || type == VERBOSE)) {
              int i = name.lastIndexOf('.');
              pn = i > 0 ? name.substring(0, i) : "";
          }
  
          // exported API
          if (module.isExported(pn) && !module.isJDKUnsupported()) {
              return showProfileOrModule(module);
          }
  
          // JDK internal API
          if (!source.getModule().isJDK() && module.isJDK()){
              return "JDK internal API (" + module.name() + ")";
          }
  
          // qualified exports or inaccessible
          boolean isExported = module.isExported(pn, source.getModule().name());
          return module.name() + (isExported ?  " (qualified)" : " (internal)");
      }
docs: If the given archive is JDK archive, this method returns the profile name
  only if -profile option is specified; it accesses a private JDK API and
  the returned value will have "JDK internal API" prefix
  
  For non-JDK archives, this method returns the file name of the archive.