docs: public URI getURI() {
          final URI locationURI = getClasspathElementURI();
          final String resourcePath = getPathRelativeToClasspathElement();
          final String locationURIStr = locationURI.toString();
          // Check if this is a directory-based module (location URI will end in "/")
          final boolean isDir = locationURIStr.endsWith("/");
          try {
              return new URI((isDir || locationURIStr.startsWith("jar:") ? "" : "jar:") + locationURIStr
                      + (isDir ? "" : "!/") + resourcePath);
          } catch (final URISyntaxException e) {
              throw new IllegalArgumentException("Could not form URL for classpath element: " + locationURIStr
                      + " ; path: " + resourcePath + " : " + e);
          }
      }