docs: @SuppressWarnings("checkstyle:npathcomplexity")
  	protected Package definePackage(String name, Manifest man, URL url) throws IllegalArgumentException {
  		final String path = name.replace('.', '/').concat("/"); //$NON-NLS-1$
  		String specTitle = null;
  		String specVersion = null;
  		String specVendor = null;
  		String implTitle = null;
  		String implVersion = null;
  		String implVendor = null;
  		String sealed = null;
  		URL sealBase = null;
  
  		Attributes attr = man.getAttributes(path);
  		if (attr != null) {
  			specTitle   = attr.getValue(Name.SPECIFICATION_TITLE);
  			specVersion = attr.getValue(Name.SPECIFICATION_VERSION);
  			specVendor  = attr.getValue(Name.SPECIFICATION_VENDOR);
  			implTitle   = attr.getValue(Name.IMPLEMENTATION_TITLE);
  			implVersion = attr.getValue(Name.IMPLEMENTATION_VERSION);
  			implVendor  = attr.getValue(Name.IMPLEMENTATION_VENDOR);
  			sealed      = attr.getValue(Name.SEALED);
  		}
  		attr = man.getMainAttributes();
  		if (attr != null) {
  			if (specTitle == null) {
  				specTitle = attr.getValue(Name.SPECIFICATION_TITLE);
  			}
  			if (specVersion == null) {
  				specVersion = attr.getValue(Name.SPECIFICATION_VERSION);
  			}
  			if (specVendor == null) {
  				specVendor = attr.getValue(Name.SPECIFICATION_VENDOR);
  			}
  			if (implTitle == null) {
  				implTitle = attr.getValue(Name.IMPLEMENTATION_TITLE);
  			}
  			if (implVersion == null) {
  				implVersion = attr.getValue(Name.IMPLEMENTATION_VERSION);
  			}
  			if (implVendor == null) {
  				implVendor = attr.getValue(Name.IMPLEMENTATION_VENDOR);
  			}
  			if (sealed == null) {
  				sealed = attr.getValue(Name.SEALED);
  			}
  		}
  		if ("true".equalsIgnoreCase(sealed)) { //$NON-NLS-1$
  			sealBase = url;
  		}
  		return definePackage(name, specTitle, specVersion, specVendor,
  				implTitle, implVersion, implVendor, sealBase);
  	}