docs: String getResourceName() {
          if (!resourceNameKnown) {
              // The resource name of a classfile can only be determined by
              // reading
              // the file and parsing the constant pool.
              // If we can't do this for some reason, then we just
              // make the resource name equal to the filename.
  
              try {
                  resourceName = getClassDescriptor().toResourceName();
              } catch (Exception e) {
                  resourceName = fileName;
              }
  
              resourceNameKnown = true;
          }
          return resourceName;
      }