code: public URL[] getURLs() {
  
          if (repositoryURLs != null) {
              return repositoryURLs;
          }
  
          URL[] external = super.getURLs();
  
          int filesLength = files.length;
          int jarFilesLength = jarRealFiles.length;
          int length = filesLength + jarFilesLength + external.length;
          int i;
  
          try {
  
              URL[] urls = new URL[length];
              for (i = 0; i < length; i++) {
                  if (i < filesLength) {
                      urls[i] = getURL(files[i], true);
                  } else if (i < filesLength + jarFilesLength) {
                      urls[i] = getURL(jarRealFiles[i - filesLength], true);
                  } else {
                      urls[i] = external[i - filesLength - jarFilesLength];
                  }
              }
  
              repositoryURLs = urls;
  
          } catch (MalformedURLException e) {
              repositoryURLs = new URL[0];
          }
  
          return repositoryURLs;
  
      }
docs: Returns the search path of URLs for loading classes and resources.
  This includes the original list of URLs specified to the constructor,
  along with any URLs subsequently appended by the addURL() method.
  @return the search path of URLs for loading classes and resources.