}
  protected Package definePackage(String name, Manifest manifest, URL url)     throws IllegalArgumentException  {    Attributes attr = manifest.getMainAttributes();    String specTitle =      attr.getValue(Attributes.Name.SPECIFICATION_TITLE);     String specVersion =      attr.getValue(Attributes.Name.SPECIFICATION_VERSION);     String specVendor =      attr.getValue(Attributes.Name.SPECIFICATION_VENDOR);     String implTitle =      attr.getValue(Attributes.Name.IMPLEMENTATION_TITLE);     String implVersion =      attr.getValue(Attributes.Name.IMPLEMENTATION_VERSION);     String implVendor =      attr.getValue(Attributes.Name.IMPLEMENTATION_VENDOR);    // Look if the Manifest indicates that this package is sealed    // XXX - most likely not completely correct!    // Shouldn't we also check the sealed attribute of the complete jar?    // http://java.sun.com/products/jdk/1.4/docs/guide/extensions/spec.html#bundled    // But how do we get that jar manifest here?    String sealed = attr.getValue(Attributes.Name.SEALED);    if ("false".equals(sealed))    {      // make sure that the URL is null so the package is not sealed      url = null;    }    return definePackage(name, specTitle, specVersion, specVendor,			 implTitle, implVersion, implVendor, url);  }