code: @Override
      @FFDCIgnore(MalformedURLException.class)
      public URL getResource() {
          String useRelPath = getRelativePath();
  
          if ( (zipEntryData == null) || zipEntryData.isDirectory() ) {
              useRelPath += "/";
          }
  
          URI entryUri = rootContainer.createEntryUri(useRelPath);
          if ( entryUri == null ) {
              return null;
          }
  
          try {
              return entryUri.toURL(); // throws MalformedURLException
          } catch ( MalformedURLException e ) {
              // In some cases an attempt is made to get a resource using the wsjar protocol
              // after the protocol has been deregistered.  It would be too much of a behavior change
              // to properly enforce the dependency on the wsjar protocol for all components.
              // Instead, only log a debug statement if a MalformedURLException is caught during
              // shutdown.
              if ( FrameworkState.isStopping() ) {
                  if ( TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled() ) {
                      Tr.debug(tc, "MalformedURLException during OSGi framework stop.", e.getMessage());
                  } else {
                      FFDCFilter.processException(e, getClass().getName(), "269");
                  }
              }
              return null;
          }
      }
docs: Answer the URL of this entry.
  
  Directory type entries have a trailing "/".  That is required by
  {@link ClassLoader#getResource(String)}.
  
  Answer null if a malformed URL is obtained.
  
  @return The URL for this entry.