Serialized Form (Java SE 9 & JDK 9 )

# Serialized Form

- ## Package com.sun.jdi

  - ### Class com.sun.jdi.AbsentInformationException extends Exception implements Serializable

    serialVersionUID:
      4988939309582416373L

  - ### Class com.sun.jdi.ClassNotLoadedException extends Exception implements Serializable

    serialVersionUID:
      -6242978768444298722L

    - ### Serialized Fields

      - #### className

            String className

  - ### Class com.sun.jdi.ClassNotPreparedException extends RuntimeException implements Serializable

    serialVersionUID:
      -6120698967144079642L

  - ### Class com.sun.jdi.IncompatibleThreadStateException extends Exception implements Serializable

    serialVersionUID:
      6199174323414551389L

  - ### Class com.sun.jdi.InconsistentDebugInfoException extends RuntimeException implements Serializable

    serialVersionUID:
      7964236415376861808L

  - ### Class com.sun.jdi.InternalException extends RuntimeException implements Serializable

    serialVersionUID:
      -9171606393104480607L

    - ### Serialized Fields

      - #### errorCode

            int errorCode

  - ### Class com.sun.jdi.InvalidCodeIndexException extends RuntimeException implements Serializable

    serialVersionUID:
      7416010225133747805L

  - ### Class com.sun.jdi.InvalidLineNumberException extends RuntimeException implements Serializable

    serialVersionUID:
      4048709912372692875L

  - ### Class com.sun.jdi.InvalidModuleException extends RuntimeException implements Serializable

    serialVersionUID:
      7907359387320658039L

  - ### Class com.sun.jdi.InvalidStackFrameException extends RuntimeException implements Serializable

    serialVersionUID:
      -1919378296505827922L

  - ### Class com.sun.jdi.InvalidTypeException extends Exception implements Serializable

    serialVersionUID:
      2256667231949650806L

  - ### Class com.sun.jdi.InvocationException extends Exception implements Serializable

    serialVersionUID:
      6066780907971918568L

    - ### Serialized Fields

      - #### exception

            ObjectReference exception

  - ### Class com.sun.jdi.JDIPermission extends BasicPermission implements Serializable

    serialVersionUID:
      -6988461416938786271L

  - ### Class com.sun.jdi.NativeMethodException extends RuntimeException implements Serializable

    serialVersionUID:
      3924951669039469992L

  - ### Class com.sun.jdi.ObjectCollectedException extends RuntimeException implements Serializable

    serialVersionUID:
      -1928428056197269588L

  - ### Class com.sun.jdi.VMCannotBeModifiedException extends UnsupportedOperationException implements Serializable

    serialVersionUID:
      -4063879815130164009L

  - ### Class com.sun.jdi.VMDisconnectedException extends RuntimeException implements Serializable

    serialVersionUID:
      2892975269768351637L

  - ### Class com.sun.jdi.VMMismatchException extends RuntimeException implements Serializable

    serialVersionUID:
      289169358790459564L

  - ### Class com.sun.jdi.VMOutOfMemoryException extends RuntimeException implements Serializable

    serialVersionUID:
      71504228548910686L

- ## Package com.sun.jdi.connect

  - ### Class com.sun.jdi.connect.IllegalConnectorArgumentsException extends Exception implements Serializable

    serialVersionUID:
      -3042212603611350941L

    - ### Serialized Fields

      - #### names

            List<E> names

  - ### Class com.sun.jdi.connect.TransportTimeoutException extends IOException implements Serializable

    serialVersionUID:
      4107035242623365074L

  - ### Class com.sun.jdi.connect.VMStartException extends Exception implements Serializable

    serialVersionUID:
      6408644824640801020L

    - ### Serialized Fields

      - #### process

            Process process

- ## Package com.sun.jdi.connect.spi

  - ### Class com.sun.jdi.connect.spi.ClosedConnectionException extends IOException implements Serializable

    serialVersionUID:
      3877032124297204774L

- ## Package com.sun.jdi.request

  - ### Class com.sun.jdi.request.DuplicateRequestException extends RuntimeException implements Serializable

    serialVersionUID:
      -3719784920313411060L

  - ### Class com.sun.jdi.request.InvalidRequestStateException extends RuntimeException implements Serializable

    serialVersionUID:
      -3774632428543322148L

- ## Package com.sun.nio.sctp

  - ### Class com.sun.nio.sctp.IllegalReceiveException extends IllegalStateException implements Serializable

    serialVersionUID:
      2296619040988576224L

  - ### Class com.sun.nio.sctp.IllegalUnbindException extends IllegalStateException implements Serializable

    serialVersionUID:
      -310540883995532224L

  - ### Class com.sun.nio.sctp.InvalidStreamException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      -9172703378046665558L

- ## Package com.sun.security.auth

  - ### Class com.sun.security.auth.LdapPrincipal extends Object implements Serializable

    serialVersionUID:
      6820120005580754861L

    - ### Serialized Fields

      - #### name

            LdapName name

        The principal's name

      - #### nameString

            String nameString

        The principal's string name

  - ### Class com.sun.security.auth.NTDomainPrincipal extends Object implements Serializable

    serialVersionUID:
      -4408637351440771220L

    - ### Serialized Fields

      - #### name

            String name

  - ### Class com.sun.security.auth.NTSid extends Object implements Serializable

    serialVersionUID:
      4412290580770249885L

    - ### Serialized Fields

      - #### sid

            String sid

  - ### Class com.sun.security.auth.NTSidDomainPrincipal extends NTSid implements Serializable

    serialVersionUID:
      5247810785821650912L

  - ### Class com.sun.security.auth.NTSidGroupPrincipal extends NTSid implements Serializable

    serialVersionUID:
      -1373347438636198229L

  - ### Class com.sun.security.auth.NTSidPrimaryGroupPrincipal extends NTSid implements Serializable

    serialVersionUID:
      8011978367305190527L

  - ### Class com.sun.security.auth.NTSidUserPrincipal extends NTSid implements Serializable

    serialVersionUID:
      -5573239889517749525L

  - ### Class com.sun.security.auth.NTUserPrincipal extends Object implements Serializable

    serialVersionUID:
      -8737649811939033735L

    - ### Serialized Fields

      - #### name

            String name

  - ### Class com.sun.security.auth.SolarisNumericGroupPrincipal extends Object implements Serializable

    serialVersionUID:
      2345199581042573224L

    - ### Serialized Fields

      - #### name

            String name

        Deprecated, for removal: This API element is subject to removal in a future version.

      - #### primaryGroup

            boolean primaryGroup

        Deprecated, for removal: This API element is subject to removal in a future version.

  - ### Class com.sun.security.auth.SolarisNumericUserPrincipal extends Object implements Serializable

    serialVersionUID:
      -3178578484679887104L

    - ### Serialized Fields

      - #### name

            String name

        Deprecated, for removal: This API element is subject to removal in a future version.

  - ### Class com.sun.security.auth.SolarisPrincipal extends Object implements Serializable

    serialVersionUID:
      -7840670002439379038L

    - ### Serialized Fields

      - #### name

            String name

        Deprecated, for removal: This API element is subject to removal in a future version.

  - ### Class com.sun.security.auth.UnixNumericGroupPrincipal extends Object implements Serializable

    serialVersionUID:
      3941535899328403223L

    - ### Serialized Fields

      - #### name

            String name

      - #### primaryGroup

            boolean primaryGroup

  - ### Class com.sun.security.auth.UnixNumericUserPrincipal extends Object implements Serializable

    serialVersionUID:
      -4329764253802397821L

    - ### Serialized Fields

      - #### name

            String name

  - ### Class com.sun.security.auth.UnixPrincipal extends Object implements Serializable

    serialVersionUID:
      -2951667807323493631L

    - ### Serialized Fields

      - #### name

            String name

  - ### Class com.sun.security.auth.UserPrincipal extends Object implements Serializable

    serialVersionUID:
      892106070870210969L

    - ### Serialized Fields

      - #### name

            String name

        The principal's name

  - ### Class com.sun.security.auth.X500Principal extends Object implements Serializable

    serialVersionUID:
      -8222422609431628648L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    NotActiveException,
                                    ClassNotFoundException

        Deprecated, for removal: This API element is subject to removal in a future version.
        Reads this object from a stream (i.e., deserializes it)
        Throws:
          `IOException`
          `NotActiveException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### name

            String name

        Deprecated, for removal: This API element is subject to removal in a future version.

- ## Package com.sun.security.jgss

  - ### Class com.sun.security.jgss.InquireSecContextPermission extends BasicPermission implements Serializable

    serialVersionUID:
      -7131173349668647297L

- ## Package com.sun.tools.attach

  - ### Class com.sun.tools.attach.AgentInitializationException extends Exception implements Serializable

    serialVersionUID:
      -1508756333332806353L

    - ### Serialized Fields

      - #### returnValue

            int returnValue

  - ### Class com.sun.tools.attach.AgentLoadException extends Exception implements Serializable

    serialVersionUID:
      688047862952114238L

  - ### Class com.sun.tools.attach.AttachNotSupportedException extends Exception implements Serializable

    serialVersionUID:
      3391824968260177264L

  - ### Class com.sun.tools.attach.AttachOperationFailedException extends IOException implements Serializable

    serialVersionUID:
      2140308168167478043L

  - ### Class com.sun.tools.attach.AttachPermission extends BasicPermission implements Serializable

    serialVersionUID:
      -4619447669752976181L

- ## Package java.applet

  - ### Class java.applet.Applet extends Panel implements Serializable

    serialVersionUID:
      -5836846270535785031L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Deprecated.
        Read an applet from an object input stream.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless()` returns `true`
          `ClassNotFoundException`
          `IOException`
        Since:
          1.4
        See Also:
          `GraphicsEnvironment.isHeadless()`

    - ### Serialized Fields

      - #### accessibleContext

            AccessibleContext accessibleContext

        Deprecated.

  - ### Class java.applet.Applet.AccessibleApplet extends Panel.AccessibleAWTPanel implements Serializable

    serialVersionUID:
      8127374778187708896L

- ## Package java.awt

  - ### Class java.awt.AWTError extends Error implements Serializable

    serialVersionUID:
      -1819846354050686206L

  - ### Class java.awt.AWTEvent extends EventObject implements Serializable

    serialVersionUID:
      -1825314779160409405L

    - ### Serialized Fields

      - #### bdata

            byte[] bdata

      - #### consumed

            boolean consumed

        Controls whether or not the event is sent back down to the peer once the source has processed it - false means it's sent to the peer; true means it's not. Semantic events always have a 'true' value since they were generated by the peer in response to a low-level event.
        See Also:
          `AWTEvent.consume()`, `AWTEvent.isConsumed()`

      - #### id

            int id

        The event's id.
        See Also:
          `AWTEvent.getID()`, `AWTEvent(java.lang.Object, int)`

  - ### Class java.awt.AWTException extends Exception implements Serializable

    serialVersionUID:
      -1900414231151323879L

  - ### Class java.awt.AWTKeyStroke extends Object implements Serializable

    serialVersionUID:
      -6430539691155161871L

    - ### Serialization Methods

      - #### readResolve

            protected Object readResolve​()
                                  throws ObjectStreamException

        Returns a cached instance of `AWTKeyStroke` (or a subclass of `AWTKeyStroke`) which is equal to this instance.
        Throws:
          `ObjectStreamException` - if a serialization problem occurs

    - ### Serialized Fields

      - #### keyChar

            char keyChar

      - #### keyCode

            int keyCode

      - #### modifiers

            int modifiers

      - #### onKeyRelease

            boolean onKeyRelease

  - ### Class java.awt.AWTPermission extends BasicPermission implements Serializable

    serialVersionUID:
      8890392402588814465L

  - ### Class java.awt.BorderLayout extends Object implements Serializable

    serialVersionUID:
      -8658291919501921765L

    - ### Serialized Fields

      - #### center

            Component center

        Constant to specify components location to be the center portion of the border layout.
        See Also:
          `BorderLayout.getChild(String, boolean)`, `BorderLayout.addLayoutComponent(java.awt.Component, java.lang.Object)`, `BorderLayout.getLayoutAlignmentX(java.awt.Container)`, `BorderLayout.getLayoutAlignmentY(java.awt.Container)`, `BorderLayout.removeLayoutComponent(java.awt.Component)`

      - #### east

            Component east

        Constant to specify components location to be the east portion of the border layout.
        See Also:
          `BorderLayout.getChild(String, boolean)`, `BorderLayout.addLayoutComponent(java.awt.Component, java.lang.Object)`, `BorderLayout.getLayoutAlignmentX(java.awt.Container)`, `BorderLayout.getLayoutAlignmentY(java.awt.Container)`, `BorderLayout.removeLayoutComponent(java.awt.Component)`

      - #### firstItem

            Component firstItem

        A relative positioning constant, that can be used instead of north, south, east, west or center. Please read Description for firstLine.

      - #### firstLine

            Component firstLine

        A relative positioning constant, that can be used instead of north, south, east, west or center. mixing the two types of constants can lead to unpredictable results. If you use both types, the relative constants will take precedence. For example, if you add components using both the `NORTH` and `BEFORE_FIRST_LINE` constants in a container whose orientation is `LEFT_TO_RIGHT`, only the `BEFORE_FIRST_LINE` will be laid out. This will be the same for lastLine, firstItem, lastItem.

      - #### hgap

            int hgap

        Constructs a border layout with the horizontal gaps between components. The horizontal gap is specified by `hgap`.
        See Also:
          `BorderLayout.getHgap()`, `BorderLayout.setHgap(int)`

      - #### lastItem

            Component lastItem

        A relative positioning constant, that can be used instead of north, south, east, west or center. Please read Description for firstLine.

      - #### lastLine

            Component lastLine

        A relative positioning constant, that can be used instead of north, south, east, west or center. Please read Description for firstLine.

      - #### north

            Component north

        Constant to specify components location to be the north portion of the border layout.
        See Also:
          `BorderLayout.getChild(String, boolean)`, `BorderLayout.addLayoutComponent(java.awt.Component, java.lang.Object)`, `BorderLayout.getLayoutAlignmentX(java.awt.Container)`, `BorderLayout.getLayoutAlignmentY(java.awt.Container)`, `BorderLayout.removeLayoutComponent(java.awt.Component)`

      - #### south

            Component south

        Constant to specify components location to be the south portion of the border layout.
        See Also:
          `BorderLayout.getChild(String, boolean)`, `BorderLayout.addLayoutComponent(java.awt.Component, java.lang.Object)`, `BorderLayout.getLayoutAlignmentX(java.awt.Container)`, `BorderLayout.getLayoutAlignmentY(java.awt.Container)`, `BorderLayout.removeLayoutComponent(java.awt.Component)`

      - #### vgap

            int vgap

        Constructs a border layout with the vertical gaps between components. The vertical gap is specified by `vgap`.
        See Also:
          `BorderLayout.getVgap()`, `BorderLayout.setVgap(int)`

      - #### west

            Component west

        Constant to specify components location to be the west portion of the border layout.
        See Also:
          `BorderLayout.getChild(String, boolean)`, `BorderLayout.addLayoutComponent(java.awt.Component, java.lang.Object)`, `BorderLayout.getLayoutAlignmentX(java.awt.Container)`, `BorderLayout.getLayoutAlignmentY(java.awt.Container)`, `BorderLayout.removeLayoutComponent(java.awt.Component)`

  - ### Class java.awt.Button extends Component implements Serializable

    serialVersionUID:
      -8774683716313001058L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Reads the `ObjectInputStream` and if it isn't `null` adds a listener to receive action events fired by the button. Unrecognized keys or values will be ignored.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
          `ClassNotFoundException`
          `IOException`
        See Also:
          `Button.removeActionListener(ActionListener)`, `Button.addActionListener(ActionListener)`, `GraphicsEnvironment.isHeadless()`, `Button.writeObject(ObjectOutputStream)`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to stream. Writes a list of serializable `ActionListeners` as optional data. The non-serializable `ActionListeners` are detected and no attempt is made to serialize them.
        Serial Data:
          `null` terminated sequence of 0 or more pairs: the pair consists of a `String` and an `Object`; the `String` indicates the type of object and is one of the following: `actionListenerK` indicating an `ActionListener` object
        Throws:
          `IOException`
        See Also:
          `AWTEventMulticaster.save(ObjectOutputStream, String, EventListener)`, `Component.actionListenerK`, `Button.readObject(ObjectInputStream)`

    - ### Serialized Fields

      - #### actionCommand

            String actionCommand

        The action to be performed once a button has been pressed. This value may be null.
        See Also:
          `Button.getActionCommand()`, `Button.setActionCommand(String)`

      - #### buttonSerializedDataVersion

            int buttonSerializedDataVersion

      - #### label

            String label

        The button's label. This value may be null.
        See Also:
          `Button.getLabel()`, `Button.setLabel(String)`

  - ### Class java.awt.Button.AccessibleAWTButton extends Component.AccessibleAWTComponent implements Serializable

    serialVersionUID:
      -5932203980244017102L

  - ### Class java.awt.Canvas extends Component implements Serializable

    serialVersionUID:
      -2284879212465893870L

  - ### Class java.awt.Canvas.AccessibleAWTCanvas extends Component.AccessibleAWTComponent implements Serializable

    serialVersionUID:
      -6325592262103146699L

  - ### Class java.awt.CardLayout extends Object implements Serializable

    serialVersionUID:
      -4328196481005934313L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Reads serializable fields from stream.
        Throws:
          `ClassNotFoundException`
          `IOException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes serializable fields to stream.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### currentCard

            int currentCard

      - #### hgap

            int hgap

      - #### tab

            Hashtable<K,V> tab

        deprecated, for forward compatibility only

      - #### vector

            Vector<E> vector

      - #### vgap

            int vgap

  - ### Class java.awt.Checkbox extends Component implements Serializable

    serialVersionUID:
      7270714317450821763L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Reads the `ObjectInputStream` and if it isn't `null` adds a listener to receive item events fired by the `Checkbox`. Unrecognized keys or values will be ignored.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
          `ClassNotFoundException`
          `IOException`
        See Also:
          `Checkbox.removeItemListener(ItemListener)`, `Checkbox.addItemListener(ItemListener)`, `GraphicsEnvironment.isHeadless()`, `Checkbox.writeObject(ObjectOutputStream)`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to stream. Writes a list of serializable `ItemListeners` as optional data. The non-serializable `ItemListeners` are detected and no attempt is made to serialize them.
        Serial Data:
          `null` terminated sequence of 0 or more pairs; the pair consists of a `String` and an `Object`; the `String` indicates the type of object and is one of the following: `itemListenerK` indicating an `ItemListener` object
        Throws:
          `IOException`
        See Also:
          `AWTEventMulticaster.save(ObjectOutputStream, String, EventListener)`, `Component.itemListenerK`, `Checkbox.readObject(ObjectInputStream)`

    - ### Serialized Fields

      - #### checkboxSerializedDataVersion

            int checkboxSerializedDataVersion

      - #### group

            CheckboxGroup group

        The check box group. This field can be null indicating that the checkbox is not a group checkbox.
        See Also:
          `Checkbox.getCheckboxGroup()`, `Checkbox.setCheckboxGroup(CheckboxGroup)`

      - #### label

            String label

        The label of the Checkbox. This field can be null.
        See Also:
          `Checkbox.getLabel()`, `Checkbox.setLabel(String)`

      - #### state

            boolean state

        The state of the `Checkbox`.
        See Also:
          `Checkbox.getState()`, `Checkbox.setState(boolean)`

  - ### Class java.awt.Checkbox.AccessibleAWTCheckbox extends Component.AccessibleAWTComponent implements Serializable

    serialVersionUID:
      7881579233144754107L

  - ### Class java.awt.CheckboxGroup extends Object implements Serializable

    serialVersionUID:
      3729780091441768983L

    - ### Serialized Fields

      - #### selectedCheckbox

            Checkbox selectedCheckbox

        The current choice.
        See Also:
          `CheckboxGroup.getCurrent()`, `CheckboxGroup.setCurrent(Checkbox)`

  - ### Class java.awt.CheckboxMenuItem extends MenuItem implements Serializable

    serialVersionUID:
      6190621106981774043L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Throws:
          `ClassNotFoundException`
          `IOException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to stream. Writes a list of serializable `ItemListeners` as optional data. The non-serializable `ItemListeners` are detected and no attempt is made to serialize them.
        Serial Data:
          `null` terminated sequence of 0 or more pairs; the pair consists of a `String` and an `Object`; the `String` indicates the type of object and is one of the following: `itemListenerK` indicating an `ItemListener` object
        Throws:
          `IOException`
        See Also:
          `AWTEventMulticaster.save(ObjectOutputStream, String, EventListener)`, `Component.itemListenerK`, `CheckboxMenuItem.readObject(ObjectInputStream)`

    - ### Serialized Fields

      - #### checkboxMenuItemSerializedDataVersion

            int checkboxMenuItemSerializedDataVersion

      - #### state

            boolean state

        The state of a checkbox menu item
        See Also:
          `CheckboxMenuItem.getState()`, `CheckboxMenuItem.setState(boolean)`

  - ### Class java.awt.CheckboxMenuItem.AccessibleAWTCheckboxMenuItem extends MenuItem.AccessibleAWTMenuItem implements Serializable

    serialVersionUID:
      -1122642964303476L

  - ### Class java.awt.Choice extends Component implements Serializable

    serialVersionUID:
      -4075310674757313071L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Reads the `ObjectInputStream` and if it isn't `null` adds a listener to receive item events fired by the `Choice` item. Unrecognized keys or values will be ignored.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
          `ClassNotFoundException`
          `IOException`
        See Also:
          `Choice.removeItemListener(ItemListener)`, `Choice.addItemListener(ItemListener)`, `GraphicsEnvironment.isHeadless()`, `Choice.writeObject(ObjectOutputStream)`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to stream. Writes a list of serializable `ItemListeners` as optional data. The non-serializable `ItemListeners` are detected and no attempt is made to serialize them.
        Serial Data:
          `null` terminated sequence of 0 or more pairs; the pair consists of a `String` and an `Object`; the `String` indicates the type of object and is one of the following: `itemListenerK` indicating an `ItemListener` object
        Throws:
          `IOException`
        See Also:
          `AWTEventMulticaster.save(ObjectOutputStream, String, EventListener)`, `Component.itemListenerK`, `Choice.readObject(ObjectInputStream)`

    - ### Serialized Fields

      - #### choiceSerializedDataVersion

            int choiceSerializedDataVersion

      - #### pItems

            Vector<E> pItems

        The items for the `Choice`. This can be a `null` value.
        See Also:
          `Choice.add(String)`, `Choice.addItem(String)`, `Choice.getItem(int)`, `Choice.getItemCount()`, `Choice.insert(String, int)`, `Choice.remove(String)`

      - #### selectedIndex

            int selectedIndex

        The index of the current choice for this `Choice` or -1 if nothing is selected.
        See Also:
          `Choice.getSelectedItem()`, `Choice.select(int)`

  - ### Class java.awt.Choice.AccessibleAWTChoice extends Component.AccessibleAWTComponent implements Serializable

    serialVersionUID:
      7175603582428509322L

  - ### Class java.awt.Color extends Object implements Serializable

    serialVersionUID:
      118526816881161077L

    - ### Serialized Fields

      - #### cs

            ColorSpace cs

        The `ColorSpace`. If `null`, then it's default is sRGB.
        See Also:
          `Color.getColor(java.lang.String)`, `Color.getColorSpace()`, `Color.getColorComponents(float[])`

      - #### falpha

            float falpha

        The alpha value as a `float` component. If `frgbvalue` is `null`, this is not valid data, so compute from the `int` color value.
        See Also:
          `Color.getRGBComponents(float[])`, `Color.getComponents(float[])`

      - #### frgbvalue

            float[] frgbvalue

        The color value in the default sRGB `ColorSpace` as `float` components (no alpha). If `null` after object construction, this must be an sRGB color constructed with 8-bit precision, so compute from the `int` color value.
        See Also:
          `Color.getRGBColorComponents(float[])`, `Color.getRGBComponents(float[])`

      - #### fvalue

            float[] fvalue

        The color value in the native `ColorSpace` as `float` components (no alpha). If `null` after object construction, this must be an sRGB color constructed with 8-bit precision, so compute from the `int` color value.
        See Also:
          `Color.getRGBColorComponents(float[])`, `Color.getRGBComponents(float[])`

      - #### value

            int value

        The color value.
        See Also:
          `Color.getRGB()`

  - ### Class java.awt.Component extends Object implements Serializable

    serialVersionUID:
      -7644114512714619750L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Reads the `ObjectInputStream` and if it isn't `null` adds a listener to receive a variety of events fired by the component. Unrecognized keys or values will be ignored.
        Throws:
          `ClassNotFoundException`
          `IOException`
        See Also:
          `Component.writeObject(ObjectOutputStream)`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to stream. Writes a variety of serializable listeners as optional data. The non-serializable listeners are detected and no attempt is made to serialize them.
        Serial Data:
          `null` terminated sequence of 0 or more pairs; the pair consists of a `String` and an `Object`; the `String` indicates the type of object and is one of the following (as of 1.4): `componentListenerK` indicating an `ComponentListener` object; `focusListenerK` indicating an `FocusListener` object; `keyListenerK` indicating an `KeyListener` object; `mouseListenerK` indicating an `MouseListener` object; `mouseMotionListenerK` indicating an `MouseMotionListener` object; `inputMethodListenerK` indicating an `InputMethodListener` object; `hierarchyListenerK` indicating an `HierarchyListener` object; `hierarchyBoundsListenerK` indicating an `HierarchyBoundsListener` object; `mouseWheelListenerK` indicating an `MouseWheelListener` object, an optional `ComponentOrientation` (after `inputMethodListener`, as of 1.2)
        Throws:
          `IOException`
        See Also:
          `AWTEventMulticaster.save(java.io.ObjectOutputStream, java.lang.String, java.util.EventListener)`, `Component.componentListenerK`, `Component.focusListenerK`, `Component.keyListenerK`, `Component.mouseListenerK`, `Component.mouseMotionListenerK`, `Component.inputMethodListenerK`, `Component.hierarchyListenerK`, `Component.hierarchyBoundsListenerK`, `Component.mouseWheelListenerK`, `Component.readObject(ObjectInputStream)`

    - ### Serialized Fields

      - #### accessibleContext

            AccessibleContext accessibleContext

        The `AccessibleContext` associated with this `Component`.

      - #### autoFocusTransferOnDisposal

            boolean autoFocusTransferOnDisposal

      - #### background

            Color background

        The background color for this component. `background` can be `null`.
        See Also:
          `Component.getBackground()`, `Component.setBackground(java.awt.Color)`

      - #### boundsOp

            int boundsOp

        Pseudoparameter for direct Geometry API (setLocation, setBounds setSize to signal setBounds what's changing. Should be used under TreeLock. This is only needed due to the inability to change the cross-calling order of public and deprecated methods.

      - #### changeSupport

            PropertyChangeSupport changeSupport

        If any `PropertyChangeListeners` have been registered, the `changeSupport` field describes them.
        Since:
          1.2
        See Also:
          `Component.addPropertyChangeListener(java.beans.PropertyChangeListener)`, `Component.removePropertyChangeListener(java.beans.PropertyChangeListener)`, `Component.firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)`

      - #### componentSerializedDataVersion

            int componentSerializedDataVersion

        Component Serialized Data Version.

      - #### cursor

            Cursor cursor

        The cursor displayed when pointer is over this component. This value can be `null`.
        See Also:
          `Component.getCursor()`, `Component.setCursor(java.awt.Cursor)`

      - #### dropTarget

            DropTarget dropTarget

        The `DropTarget` associated with this component.
        Since:
          1.2
        See Also:
          `Component.setDropTarget(java.awt.dnd.DropTarget)`, `Component.getDropTarget()`

      - #### enabled

            boolean enabled

        True when the object is enabled. An object that is not enabled does not interact with the user.
        See Also:
          `Component.isEnabled()`, `Component.setEnabled(boolean)`

      - #### eventMask

            long eventMask

        The `eventMask` is ONLY set by subclasses via `enableEvents`. The mask should NOT be set when listeners are registered so that we can distinguish the difference between when listeners request events and subclasses request them. One bit is used to indicate whether input methods are enabled; this bit is set by `enableInputMethods` and is on by default.
        See Also:
          `Component.enableInputMethods(boolean)`, `AWTEvent`

      - #### focusable

            boolean focusable

        Indicates whether this Component can be focused.
        Since:
          1.4
        See Also:
          `Component.setFocusable(boolean)`, `Component.isFocusable()`

      - #### focusTraversalKeys

            Set<E>[] focusTraversalKeys

        The focus traversal keys. These keys will generate focus traversal behavior for Components for which focus traversal keys are enabled. If a value of null is specified for a traversal key, this Component inherits that traversal key from its parent. If all ancestors of this Component have null specified for that traversal key, then the current KeyboardFocusManager's default traversal key is used.
        Since:
          1.4
        See Also:
          `Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)`, `Component.getFocusTraversalKeys(int)`

      - #### focusTraversalKeysEnabled

            boolean focusTraversalKeysEnabled

        Indicates whether focus traversal keys are enabled for this Component. Components for which focus traversal keys are disabled receive key events for focus traversal keys. Components for which focus traversal keys are enabled do not see these events; instead, the events are automatically converted to traversal operations.
        Since:
          1.4
        See Also:
          `Component.setFocusTraversalKeysEnabled(boolean)`, `Component.getFocusTraversalKeysEnabled()`

      - #### font

            Font font

        The font used by this component. The `font` can be `null`.
        See Also:
          `Component.getFont()`, `Component.setFont(java.awt.Font)`

      - #### foreground

            Color foreground

        The foreground color for this component. `foreground` can be `null`.
        See Also:
          `Component.getForeground()`, `Component.setForeground(java.awt.Color)`

      - #### height

            int height

        The height of the component.
        See Also:
          `Component.getSize()`

      - #### ignoreRepaint

            boolean ignoreRepaint

        True when the object should ignore all repaint events.
        Since:
          1.4
        See Also:
          `Component.setIgnoreRepaint(boolean)`, `Component.getIgnoreRepaint()`

      - #### isFocusTraversableOverridden

            int isFocusTraversableOverridden

        Tracks whether this Component is relying on default focus traversability.
        Since:
          1.4

      - #### isPacked

            boolean isPacked

      - #### locale

            Locale locale

        The locale for the component.
        See Also:
          `Component.getLocale()`, `Component.setLocale(java.util.Locale)`

      - #### maxSize

            Dimension maxSize

        Maximum size

      - #### maxSizeSet

            boolean maxSizeSet

        Whether or not setMaximumSize has been invoked with a non-null value.

      - #### minSize

            Dimension minSize

        Minimum size. (This field perhaps should have been transient).

      - #### minSizeSet

            boolean minSizeSet

        Whether or not setMinimumSize has been invoked with a non-null value.

      - #### name

            String name

        A component's name. This field can be `null`.
        See Also:
          `Component.getName()`, `Component.setName(String)`

      - #### nameExplicitlySet

            boolean nameExplicitlySet

        A bool to determine whether the name has been set explicitly. `nameExplicitlySet` will be false if the name has not been set and true if it has.
        See Also:
          `Component.getName()`, `Component.setName(String)`

      - #### newEventsOnly

            boolean newEventsOnly

        `newEventsOnly` will be true if the event is one of the event types enabled for the component. It will then allow for normal processing to continue. If it is false the event is passed to the component's parent and up the ancestor tree until the event has been consumed.
        See Also:
          `Component.dispatchEvent(java.awt.AWTEvent)`

      - #### peerFont

            Font peerFont

        The font which the peer is currently using. (`null` if no peer exists.)

      - #### popups

            Vector<E> popups

        See Also:
          `Component.add(java.awt.PopupMenu)`

      - #### prefSize

            Dimension prefSize

        Preferred size. (This field perhaps should have been transient).

      - #### prefSizeSet

            boolean prefSizeSet

        Whether or not setPreferredSize has been invoked with a non-null value.

      - #### valid

            boolean valid

        True when the object is valid. An invalid object needs to be laid out. This flag is set to false when the object size is changed.
        See Also:
          `Component.isValid()`, `Component.validate()`, `Component.invalidate()`

      - #### visible

            boolean visible

        True when the object is visible. An object that is not visible is not drawn on the screen.
        See Also:
          `Component.isVisible()`, `Component.setVisible(boolean)`

      - #### width

            int width

        The width of the component.
        See Also:
          `Component.getSize()`

      - #### x

            int x

        The x position of the component in the parent's coordinate system.
        See Also:
          `Component.getLocation()`

      - #### y

            int y

        The y position of the component in the parent's coordinate system.
        See Also:
          `Component.getLocation()`

  - ### Class java.awt.Component.AccessibleAWTComponent extends AccessibleContext implements Serializable

    serialVersionUID:
      642321655757800191L

    - ### Serialized Fields

      - #### accessibleAWTComponentHandler

            ComponentListener accessibleAWTComponentHandler

        A component listener to track show/hide/resize events and convert them to PropertyChange events.

      - #### accessibleAWTFocusHandler

            FocusListener accessibleAWTFocusHandler

        A listener to track focus events and convert them to PropertyChange events.

  - ### Class java.awt.ComponentOrientation extends Object implements Serializable

    serialVersionUID:
      -4113291392143563828L

    - ### Serialized Fields

      - #### orientation

            int orientation

  - ### Class java.awt.Container extends Component implements Serializable

    serialVersionUID:
      4613797578919906343L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Deserializes this `Container` from the specified `ObjectInputStream`.
        - Reads default serializable fields from the stream.
        - Reads a list of serializable ContainerListener(s) as optional data. If the list is null, no Listeners are installed.
        - Reads this Container's FocusTraversalPolicy, which may be null, as optional data.
        Throws:
          `ClassNotFoundException`
          `IOException`
        See Also:
          `Container.addContainerListener(java.awt.event.ContainerListener)`, `Container.writeObject(ObjectOutputStream)`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Serializes this `Container` to the specified `ObjectOutputStream`.
        - Writes default serializable fields to the stream.
        - Writes a list of serializable ContainerListener(s) as optional data. The non-serializable ContainerListener(s) are detected and no attempt is made to serialize them.
        - Write this Container's FocusTraversalPolicy if and only if it is Serializable; otherwise, `null` is written.
        Serial Data:
          `null` terminated sequence of 0 or more pairs; the pair consists of a `String` and `Object`; the `String` indicates the type of object and is one of the following: `containerListenerK` indicating an `ContainerListener` object; the `Container`'s `FocusTraversalPolicy`, or `null`
        Throws:
          `IOException`
        See Also:
          `AWTEventMulticaster.save(java.io.ObjectOutputStream, java.lang.String, java.util.EventListener)`, `Component.containerListenerK`, `Container.readObject(ObjectInputStream)`

    - ### Serialized Fields

      - #### component

            Component[] component

        The components in this container.

      - #### containerSerializedDataVersion

            int containerSerializedDataVersion

        Container Serial Data Version.

      - #### dispatcher

            java.awt.LightweightDispatcher dispatcher

        Event router for lightweight components. If this container is native, this dispatcher takes care of forwarding and retargeting the events to lightweight components contained (if any).

      - #### focusCycleRoot

            boolean focusCycleRoot

        Indicates whether this Component is the root of a focus traversal cycle. Once focus enters a traversal cycle, typically it cannot leave it via focus traversal unless one of the up- or down-cycle keys is pressed. Normal traversal is limited to this Container, and all of this Container's descendants that are not descendants of inferior focus cycle roots.

      - #### focusTraversalPolicyProvider

            boolean focusTraversalPolicyProvider

        Stores the value of focusTraversalPolicyProvider property.

      - #### layoutMgr

            LayoutManager layoutMgr

        Layout manager for this container.

      - #### maxSize

            Dimension maxSize

        Maximum size of this Container.

      - #### ncomponents

            int ncomponents

        The number of components in this container. This value can be null.

  - ### Class java.awt.Container.AccessibleAWTContainer extends Component.AccessibleAWTComponent implements Serializable

    serialVersionUID:
      5081320404842566097L

    - ### Serialized Fields

      - #### accessibleContainerHandler

            ContainerListener accessibleContainerHandler

        The handler to fire `PropertyChange` when children are added or removed

  - ### Class java.awt.ContainerOrderFocusTraversalPolicy extends FocusTraversalPolicy implements Serializable

    serialVersionUID:
      486933713763926351L

    - ### Serialized Fields

      - #### BACKWARD_TRAVERSAL

            int BACKWARD_TRAVERSAL

      - #### FORWARD_TRAVERSAL

            int FORWARD_TRAVERSAL

      - #### implicitDownCycleTraversal

            boolean implicitDownCycleTraversal

  - ### Class java.awt.Cursor extends Object implements Serializable

    serialVersionUID:
      8028237497568985504L

    - ### Serialized Fields

      - #### name

            String name

        The user-visible name of the cursor.
        See Also:
          `Cursor.getName()`

      - #### type

            int type

        The chosen cursor type initially set to the `DEFAULT_CURSOR`.
        See Also:
          `Cursor.getType()`

  - ### Class java.awt.DefaultFocusTraversalPolicy extends ContainerOrderFocusTraversalPolicy implements Serializable

    serialVersionUID:
      8876966522510157497L

  - ### Class java.awt.Dialog extends Window implements Serializable

    serialVersionUID:
      5920926903803293709L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Throws:
          `ClassNotFoundException`
          `IOException`
          `HeadlessException`

    - ### Serialized Fields

      - #### modal

            boolean modal

        True if this dialog is modal, false is the dialog is modeless. A modal dialog blocks user input to some application top-level windows. This field is kept only for backwards compatibility. Use the `ModalityType` enum instead.
        See Also:
          `Dialog.isModal()`, `Dialog.setModal(boolean)`, `Dialog.getModalityType()`, `Dialog.setModalityType(java.awt.Dialog.ModalityType)`, `Dialog.ModalityType`, `Dialog.ModalityType.MODELESS`, `Dialog.DEFAULT_MODALITY_TYPE`

      - #### modalityType

            Dialog.ModalityType modalityType

        Modality type of this dialog. If the dialog's modality type is not `ModalityType.MODELESS`, it blocks all user input to some application top-level windows.
        Since:
          1.6
        See Also:
          `Dialog.ModalityType`, `Dialog.getModalityType()`, `Dialog.setModalityType(java.awt.Dialog.ModalityType)`

      - #### resizable

            boolean resizable

        A dialog's resizable property. Will be true if the Dialog is to be resizable, otherwise it will be false.
        See Also:
          `Dialog.setResizable(boolean)`

      - #### title

            String title

        Specifies the title of the Dialog. This field can be null.
        See Also:
          `Dialog.getTitle()`, `Dialog.setTitle(String)`

      - #### undecorated

            boolean undecorated

        This field indicates whether the dialog is undecorated. This property can only be changed while the dialog is not displayable. `undecorated` will be true if the dialog is undecorated, otherwise it will be false.
        Since:
          1.4
        See Also:
          `Dialog.setUndecorated(boolean)`, `Dialog.isUndecorated()`, `Component.isDisplayable()`

  - ### Class java.awt.Dialog.AccessibleAWTDialog extends Window.AccessibleAWTWindow implements Serializable

    serialVersionUID:
      4837230331833941201L

  - ### Class java.awt.Dimension extends Dimension2D implements Serializable

    serialVersionUID:
      4723952579491349524L

    - ### Serialized Fields

      - #### height

            int height

        The height dimension; negative values can be used.
        Since:
          1.0
        See Also:
          `Dimension.getSize()`, `Dimension.setSize(double, double)`

      - #### width

            int width

        The width dimension; negative values can be used.
        Since:
          1.0
        See Also:
          `Dimension.getSize()`, `Dimension.setSize(double, double)`

  - ### Class java.awt.Event extends Object implements Serializable

    serialVersionUID:
      5488922509400504703L

    - ### Serialized Fields

      - #### arg

            Object arg

        Deprecated.
        An arbitrary argument of the event. The value of this field depends on the type of event. `arg` has been replaced by event specific property.

      - #### clickCount

            int clickCount

        Deprecated.
        For `MOUSE_DOWN` events, this field indicates the number of consecutive clicks. For other events, its value is `0`. This field has been replaced by MouseEvent.getClickCount().
        See Also:
          `MouseEvent.getClickCount()`

      - #### consumed

            boolean consumed

        Deprecated.
        This field controls whether or not the event is sent back down to the peer once the target has processed it - false means it's sent to the peer, true means it's not.
        See Also:
          `Event.isConsumed()`

      - #### evt

            Event evt

        Deprecated.
        The next event. This field is set when putting events into a linked list. This has been replaced by EventQueue.
        See Also:
          `EventQueue`

      - #### id

            int id

        Deprecated.
        Indicates which type of event the event is, and which other `Event` variables are relevant for the event. This has been replaced by AWTEvent.getID()
        See Also:
          `AWTEvent.getID()`

      - #### key

            int key

        Deprecated.
        The key code of the key that was pressed in a keyboard event. This has been replaced by KeyEvent.getKeyCode()
        See Also:
          `KeyEvent.getKeyCode()`

      - #### modifiers

            int modifiers

        Deprecated.
        The state of the modifier keys. This is replaced with InputEvent.getModifiers() In java 1.1 MouseEvent and KeyEvent are subclasses of InputEvent.
        See Also:
          `InputEvent.getModifiers()`

      - #### target

            Object target

        Deprecated.
        The target component. This indicates the component over which the event occurred or with which the event is associated. This object has been replaced by AWTEvent.getSource()
        See Also:
          `EventObject.getSource()`

      - #### when

            long when

        Deprecated.
        The time stamp. Replaced by InputEvent.getWhen().
        See Also:
          `InputEvent.getWhen()`

      - #### x

            int x

        Deprecated.
        The x coordinate of the event. Replaced by MouseEvent.getX()
        See Also:
          `MouseEvent.getX()`

      - #### y

            int y

        Deprecated.
        The y coordinate of the event. Replaced by MouseEvent.getY()
        See Also:
          `MouseEvent.getY()`

  - ### Class java.awt.FileDialog extends Dialog implements Serializable

    serialVersionUID:
      5035145889651310422L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Reads the `ObjectInputStream` and performs a backwards compatibility check by converting either a `dir` or a `file` equal to an empty string to `null`.
        Throws:
          `ClassNotFoundException`
          `IOException`

    - ### Serialized Fields

      - #### dir

            String dir

      - #### file

            String file

      - #### files

            File[] files

        Contains the File instances for all the files that the user selects.
        Since:
          1.7
        See Also:
          `FileDialog.getFiles()`

      - #### filter

            FilenameFilter filter

      - #### mode

            int mode

      - #### multipleMode

            boolean multipleMode

        Represents whether the file dialog allows the multiple file selection.
        Since:
          1.7
        See Also:
          `FileDialog.setMultipleMode(boolean)`, `FileDialog.isMultipleMode()`

  - ### Class java.awt.FlowLayout extends Object implements Serializable

    serialVersionUID:
      -7262534875583282631L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream stream)
                             throws IOException,
                                    ClassNotFoundException

        Reads this object out of a serialization stream, handling objects written by older versions of the class that didn't contain all of the fields we use now..
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### align

            int align

        `align` is the property that determines how each row distributes empty space. It can be one of the following values:
        - `LEFT`
        - `RIGHT`
        - `CENTER`
        See Also:
          `FlowLayout.getAlignment()`, `FlowLayout.setAlignment(int)`

      - #### alignOnBaseline

            boolean alignOnBaseline

        If true, components will be aligned on their baseline.

      - #### hgap

            int hgap

        The flow layout manager allows a separation of components with gaps. The horizontal gap will specify the space between components and between the components and the borders of the `Container`.
        See Also:
          `FlowLayout.getHgap()`, `FlowLayout.setHgap(int)`

      - #### newAlign

            int newAlign

        `newAlign` is the property that determines how each row distributes empty space for the Java 2 platform, v1.2 and greater. It can be one of the following three values:
        - `LEFT`
        - `RIGHT`
        - `CENTER`
        - `LEADING`
        - `TRAILING`
        Since:
          1.2
        See Also:
          `FlowLayout.getAlignment()`, `FlowLayout.setAlignment(int)`

      - #### serialVersionOnStream

            int serialVersionOnStream

        This represent the `currentSerialVersion` which is bein used. It will be one of two values: `0` versions before Java 2 platform v1.2, `1` versions after Java 2 platform v1.2.
        Since:
          1.2

      - #### vgap

            int vgap

        The flow layout manager allows a separation of components with gaps. The vertical gap will specify the space between rows and between the the rows and the borders of the `Container`.
        See Also:
          `FlowLayout.getHgap()`, `FlowLayout.setHgap(int)`

  - ### Class java.awt.Font extends Object implements Serializable

    serialVersionUID:
      -4206021311591459213L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Reads the `ObjectInputStream`. Unrecognized keys or values will be ignored.
        Throws:
          `ClassNotFoundException`
          `IOException`
        See Also:
          `Font.writeObject(java.io.ObjectOutputStream)`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws ClassNotFoundException,
                                     IOException

        Writes default serializable fields to a stream.
        Throws:
          `ClassNotFoundException`
          `IOException`
        See Also:
          `AWTEventMulticaster.save(ObjectOutputStream, String, EventListener)`, `Font.readObject(java.io.ObjectInputStream)`

    - ### Serialized Fields

      - #### fontSerializedDataVersion

            int fontSerializedDataVersion

        The `Font` Serializable Data Form.

      - #### fRequestedAttributes

            Hashtable<K,V> fRequestedAttributes

        This is now only used during serialization. Typically it is null.
        See Also:
          `Font.getAttributes()`

      - #### name

            String name

        The logical name of this `Font`, as passed to the constructor.
        Since:
          1.0
        See Also:
          `Font.getName()`

      - #### pointSize

            float pointSize

        The point size of this `Font` in `float`.
        See Also:
          `Font.getSize()`, `Font.getSize2D()`

      - #### size

            int size

        The point size of this `Font`, rounded to integer.
        Since:
          1.0
        See Also:
          `Font.getSize()`

      - #### style

            int style

        The style of this `Font`, as passed to the constructor. This style can be PLAIN, BOLD, ITALIC, or BOLD+ITALIC.
        Since:
          1.0
        See Also:
          `Font.getStyle()`

  - ### Class java.awt.FontFormatException extends Exception implements Serializable

    serialVersionUID:
      -4481290147811361272L

  - ### Class java.awt.FontMetrics extends Object implements Serializable

    serialVersionUID:
      1681126225205050147L

    - ### Serialized Fields

      - #### font

            Font font

        The actual `Font` from which the font metrics are created. This cannot be null.
        See Also:
          `FontMetrics.getFont()`

  - ### Class java.awt.Frame extends Window implements Serializable

    serialVersionUID:
      2673458971256075116L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Reads the `ObjectInputStream`. Tries to read an icon `Image`, which is optional data available as of 1.4. If an icon `Image` is not available, but anything other than an EOF is detected, an `OptionalDataException` will be thrown. Unrecognized keys or values will be ignored.
        Throws:
          `OptionalDataException` - if an icon `Image` is not available, but anything other than an EOF is detected
          `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
          `ClassNotFoundException`
          `IOException`
        See Also:
          `GraphicsEnvironment.isHeadless()`, `Image`, `Frame.getIconImage()`, `Frame.setIconImage(Image)`, `Frame.writeObject(ObjectOutputStream)`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to stream. Writes an optional serializable icon `Image`, which is available as of 1.4.
        Serial Data:
          an optional icon `Image`
        Throws:
          `IOException`
        See Also:
          `Image`, `Frame.getIconImage()`, `Frame.setIconImage(Image)`, `Frame.readObject(ObjectInputStream)`

    - ### Serialized Fields

      - #### frameSerializedDataVersion

            int frameSerializedDataVersion

        `Frame`'s Serialized Data Version.

      - #### maximizedBounds

            Rectangle maximizedBounds

        Maximized bounds for this frame.
        Since:
          1.4
        See Also:
          `Frame.setMaximizedBounds(Rectangle)`, `Frame.getMaximizedBounds()`

      - #### mbManagement

            boolean mbManagement

        `mbManagement` is only used by the Motif implementation.

      - #### menuBar

            MenuBar menuBar

        The frames menubar. If `menuBar` = null the frame will not have a menubar.
        See Also:
          `Frame.getMenuBar()`, `Frame.setMenuBar(MenuBar)`

      - #### ownedWindows

            Vector<E> ownedWindows

      - #### resizable

            boolean resizable

        This field indicates whether the frame is resizable. This property can be changed at any time. `resizable` will be true if the frame is resizable, otherwise it will be false.
        See Also:
          `Frame.isResizable()`

      - #### state

            int state

      - #### title

            String title

        This is the title of the frame. It can be changed at any time. `title` can be null and if this is the case the `title` = "".
        See Also:
          `Frame.getTitle()`, `Frame.setTitle(String)`

      - #### undecorated

            boolean undecorated

        This field indicates whether the frame is undecorated. This property can only be changed while the frame is not displayable. `undecorated` will be true if the frame is undecorated, otherwise it will be false.
        Since:
          1.4
        See Also:
          `Frame.setUndecorated(boolean)`, `Frame.isUndecorated()`, `Component.isDisplayable()`

  - ### Class java.awt.Frame.AccessibleAWTFrame extends Window.AccessibleAWTWindow implements Serializable

    serialVersionUID:
      -6172960752956030250L

  - ### Class java.awt.GraphicsConfigTemplate extends Object implements Serializable

    serialVersionUID:
      -8061369279557787079L

  - ### Class java.awt.GridBagConstraints extends Object implements Serializable

    serialVersionUID:
      -1000070633030801713L

    - ### Serialized Fields

      - #### anchor

            int anchor

        This field is used when the component is smaller than its display area. It determines where, within the display area, to place the component.

        There are three kinds of possible values: orientation relative, baseline relative and absolute. Orientation relative values are interpreted relative to the container's component orientation property, baseline relative values are interpreted relative to the baseline and absolute values are not. The absolute values are: `CENTER`, `NORTH`, `NORTHEAST`, `EAST`, `SOUTHEAST`, `SOUTH`, `SOUTHWEST`, `WEST`, and `NORTHWEST`. The orientation relative values are: `PAGE_START`, `PAGE_END`, `LINE_START`, `LINE_END`, `FIRST_LINE_START`, `FIRST_LINE_END`, `LAST_LINE_START` and `LAST_LINE_END`. The baseline relative values are: `BASELINE`, `BASELINE_LEADING`, `BASELINE_TRAILING`, `ABOVE_BASELINE`, `ABOVE_BASELINE_LEADING`, `ABOVE_BASELINE_TRAILING`, `BELOW_BASELINE`, `BELOW_BASELINE_LEADING`, and `BELOW_BASELINE_TRAILING`. The default value is `CENTER`.

        See Also:
          `GridBagConstraints.clone()`, `ComponentOrientation`

      - #### fill

            int fill

        This field is used when the component's display area is larger than the component's requested size. It determines whether to resize the component, and if so, how.

        The following values are valid for `fill`:

        - `NONE`: Do not resize the component.
        - `HORIZONTAL`: Make the component wide enough to fill its display area horizontally, but do not change its height.
        - `VERTICAL`: Make the component tall enough to fill its display area vertically, but do not change its width.
        - `BOTH`: Make the component fill its display area entirely.

        The default value is `NONE`.

        See Also:
          `GridBagConstraints.clone()`

      - #### gridheight

            int gridheight

        Specifies the number of cells in a column for the component's display area.

        Use `REMAINDER` to specify that the component's display area will be from `gridy` to the last cell in the column. Use `RELATIVE` to specify that the component's display area will be from `gridy` to the next to the last one in its column.

        `gridheight` should be a non-negative value and the default value is 1.

        See Also:
          `GridBagConstraints.clone()`, `GridBagConstraints.gridwidth`

      - #### gridwidth

            int gridwidth

        Specifies the number of cells in a row for the component's display area.

        Use `REMAINDER` to specify that the component's display area will be from `gridx` to the last cell in the row. Use `RELATIVE` to specify that the component's display area will be from `gridx` to the next to the last one in its row.

        `gridwidth` should be non-negative and the default value is 1.

        See Also:
          `GridBagConstraints.clone()`, `GridBagConstraints.gridheight`

      - #### gridx

            int gridx

        Specifies the cell containing the leading edge of the component's display area, where the first cell in a row has `gridx=0`. The leading edge of a component's display area is its left edge for a horizontal, left-to-right container and its right edge for a horizontal, right-to-left container. The value `RELATIVE` specifies that the component be placed immediately following the component that was added to the container just before this component was added.

        The default value is `RELATIVE`. `gridx` should be a non-negative value.

        See Also:
          `GridBagConstraints.clone()`, `GridBagConstraints.gridy`, `ComponentOrientation`

      - #### gridy

            int gridy

        Specifies the cell at the top of the component's display area, where the topmost cell has `gridy=0`. The value `RELATIVE` specifies that the component be placed just below the component that was added to the container just before this component was added.

        The default value is `RELATIVE`. `gridy` should be a non-negative value.

        See Also:
          `GridBagConstraints.clone()`, `GridBagConstraints.gridx`

      - #### insets

            Insets insets

        This field specifies the external padding of the component, the minimum amount of space between the component and the edges of its display area.

        The default value is `new Insets(0, 0, 0, 0)`.

        See Also:
          `GridBagConstraints.clone()`

      - #### ipadx

            int ipadx

        This field specifies the internal padding of the component, how much space to add to the minimum width of the component. The width of the component is at least its minimum width plus `ipadx` pixels.

        The default value is `0`.

        See Also:
          `GridBagConstraints.clone()`, `GridBagConstraints.ipady`

      - #### ipady

            int ipady

        This field specifies the internal padding, that is, how much space to add to the minimum height of the component. The height of the component is at least its minimum height plus `ipady` pixels.

        The default value is 0.

        See Also:
          `GridBagConstraints.clone()`, `GridBagConstraints.ipadx`

      - #### minHeight

            int minHeight

        The minimum height of the component. It is used to calculate `ipadx`, where the default will be 0.
        See Also:
          `GridBagConstraints.ipadx`

      - #### minWidth

            int minWidth

        The minimum width of the component. It is used to calculate `ipady`, where the default will be 0.
        See Also:
          `GridBagConstraints.ipady`

      - #### tempHeight

            int tempHeight

        Temporary place holder for the Height of the component.

      - #### tempWidth

            int tempWidth

        Temporary place holder for the Width of the component.

      - #### tempX

            int tempX

        Temporary place holder for the x coordinate.

      - #### tempY

            int tempY

        Temporary place holder for the y coordinate.

      - #### weightx

            double weightx

        Specifies how to distribute extra horizontal space.

        The grid bag layout manager calculates the weight of a column to be the maximum `weightx` of all the components in a column. If the resulting layout is smaller horizontally than the area it needs to fill, the extra space is distributed to each column in proportion to its weight. A column that has a weight of zero receives no extra space.

        If all the weights are zero, all the extra space appears between the grids of the cell and the left and right edges.

        The default value of this field is `0`. `weightx` should be a non-negative value.

        See Also:
          `GridBagConstraints.clone()`, `GridBagConstraints.weighty`

      - #### weighty

            double weighty

        Specifies how to distribute extra vertical space.

        The grid bag layout manager calculates the weight of a row to be the maximum `weighty` of all the components in a row. If the resulting layout is smaller vertically than the area it needs to fill, the extra space is distributed to each row in proportion to its weight. A row that has a weight of zero receives no extra space.

        If all the weights are zero, all the extra space appears between the grids of the cell and the top and bottom edges.

        The default value of this field is `0`. `weighty` should be a non-negative value.

        See Also:
          `GridBagConstraints.clone()`, `GridBagConstraints.weightx`

  - ### Class java.awt.GridBagLayout extends Object implements Serializable

    serialVersionUID:
      8838754796412211005L

    - ### Serialized Fields

      - #### columnWeights

            double[] columnWeights

        This field holds the overrides to the column weights. If this field is non-`null` the values are applied to the gridbag after all of the columns weights have been calculated. If `columnWeights[i] >` weight for column i, then column i is assigned the weight in `columnWeights[i]`. If `columnWeights` has more elements than the number of columns, the excess elements are ignored - they do not cause more columns to be created.

      - #### columnWidths

            int[] columnWidths

        This field holds the overrides to the column minimum width. If this field is non-`null` the values are applied to the gridbag after all of the minimum columns widths have been calculated. If columnWidths has more elements than the number of columns, columns are added to the gridbag to match the number of elements in columnWidth.
        See Also:
          `GridBagLayout.getLayoutDimensions()`

      - #### componentAdjusting

            Component componentAdjusting

        The component being positioned. This is set before calling into `adjustForGravity`.

      - #### comptable

            Hashtable<K,V> comptable

        This hashtable maintains the association between a component and its gridbag constraints. The Keys in `comptable` are the components and the values are the instances of `GridBagConstraints`.
        See Also:
          `GridBagConstraints`

      - #### defaultConstraints

            GridBagConstraints defaultConstraints

        This field holds a gridbag constraints instance containing the default values, so if a component does not have gridbag constraints associated with it, then the component will be assigned a copy of the `defaultConstraints`.
        See Also:
          `GridBagLayout.getConstraints(Component)`, `GridBagLayout.setConstraints(Component, GridBagConstraints)`, `GridBagLayout.lookupConstraints(Component)`

      - #### layoutInfo

            GridBagLayoutInfo layoutInfo

        This field holds the layout information for the gridbag. The information in this field is based on the most recent validation of the gridbag. If `layoutInfo` is `null` this indicates that there are no components in the gridbag or if there are components, they have not yet been validated.
        See Also:
          `GridBagLayout.getLayoutInfo(Container, int)`

      - #### rowHeights

            int[] rowHeights

        This field holds the overrides to the row minimum heights. If this field is non-`null` the values are applied to the gridbag after all of the minimum row heights have been calculated. If `rowHeights` has more elements than the number of rows, rows are added to the gridbag to match the number of elements in `rowHeights`.
        See Also:
          `GridBagLayout.getLayoutDimensions()`

      - #### rowWeights

            double[] rowWeights

        This field holds the overrides to the row weights. If this field is non-`null` the values are applied to the gridbag after all of the rows weights have been calculated. If `rowWeights[i] >` weight for row i, then row i is assigned the weight in `rowWeights[i]`. If `rowWeights` has more elements than the number of rows, the excess elements are ignored - they do not cause more rows to be created.

  - ### Class java.awt.GridBagLayoutInfo extends Object implements Serializable

    serialVersionUID:
      -4899416460737170217L

    - ### Serialized Fields

      - #### baselineType

            short[] baselineType

      - #### hasBaseline

            boolean hasBaseline

      - #### height

            int height

      - #### maxAscent

            int[] maxAscent

      - #### maxDescent

            int[] maxDescent

      - #### minHeight

            int[] minHeight

      - #### minWidth

            int[] minWidth

      - #### startx

            int startx

      - #### starty

            int starty

      - #### weightX

            double[] weightX

      - #### weightY

            double[] weightY

      - #### width

            int width

  - ### Class java.awt.GridLayout extends Object implements Serializable

    serialVersionUID:
      -7411804673224730901L

    - ### Serialized Fields

      - #### cols

            int cols

        This is the number of columns specified for the grid. The number of columns can be changed at any time. This should be a non negative integer, where '0' means 'any number' meaning that the number of Columns in that dimension depends on the other dimension.
        See Also:
          `GridLayout.getColumns()`, `GridLayout.setColumns(int)`

      - #### hgap

            int hgap

        This is the horizontal gap (in pixels) which specifies the space between columns. They can be changed at any time. This should be a non-negative integer.
        See Also:
          `GridLayout.getHgap()`, `GridLayout.setHgap(int)`

      - #### rows

            int rows

        This is the number of rows specified for the grid. The number of rows can be changed at any time. This should be a non negative integer, where '0' means 'any number' meaning that the number of Rows in that dimension depends on the other dimension.
        See Also:
          `GridLayout.getRows()`, `GridLayout.setRows(int)`

      - #### vgap

            int vgap

        This is the vertical gap (in pixels) which specifies the space between rows. They can be changed at any time. This should be a non negative integer.
        See Also:
          `GridLayout.getVgap()`, `GridLayout.setVgap(int)`

  - ### Class java.awt.HeadlessException extends UnsupportedOperationException implements Serializable

    serialVersionUID:
      167183644944358563L

  - ### Class java.awt.IllegalComponentStateException extends IllegalStateException implements Serializable

    serialVersionUID:
      -1889339587208144238L

  - ### Class java.awt.Insets extends Object implements Serializable

    serialVersionUID:
      -2272572637695466749L

    - ### Serialized Fields

      - #### bottom

            int bottom

        The inset from the bottom. This value is subtracted from the Bottom of the rectangle to yield a new location for the Bottom.
        See Also:
          `Insets.clone()`

      - #### left

            int left

        The inset from the left. This value is added to the Left of the rectangle to yield a new location for the Left edge.
        See Also:
          `Insets.clone()`

      - #### right

            int right

        The inset from the right. This value is subtracted from the Right of the rectangle to yield a new location for the Right edge.
        See Also:
          `Insets.clone()`

      - #### top

            int top

        The inset from the top. This value is added to the Top of the rectangle to yield a new location for the Top.
        See Also:
          `Insets.clone()`

  - ### Class java.awt.Label extends Component implements Serializable

    serialVersionUID:
      3094126758329070636L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Read a label from an object input stream.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless()` returns `true`
          `ClassNotFoundException`
          `IOException`
        Since:
          1.4
        See Also:
          `GraphicsEnvironment.isHeadless()`

    - ### Serialized Fields

      - #### alignment

            int alignment

        The label's alignment. The default alignment is set to be left justified.
        See Also:
          `Label.getAlignment()`, `Label.setAlignment(int)`

      - #### text

            String text

        The text of this label. This text can be modified by the program but never by the user.
        See Also:
          `Label.getText()`, `Label.setText(String)`

  - ### Class java.awt.Label.AccessibleAWTLabel extends Component.AccessibleAWTComponent implements Serializable

    serialVersionUID:
      -3568967560160480438L

  - ### Class java.awt.List extends Component implements Serializable

    serialVersionUID:
      -3304312411574666869L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Reads the `ObjectInputStream` and if it isn't `null` adds a listener to receive both item events and action events (as specified by the key stored in the stream) fired by the `List`. Unrecognized keys or values will be ignored.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
          `ClassNotFoundException`
          `IOException`
        See Also:
          `List.removeItemListener(ItemListener)`, `List.addItemListener(ItemListener)`, `GraphicsEnvironment.isHeadless()`, `List.writeObject(ObjectOutputStream)`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to stream. Writes a list of serializable `ItemListeners` and `ActionListeners` as optional data. The non-serializable listeners are detected and no attempt is made to serialize them.
        Serial Data:
          `null` terminated sequence of 0 or more pairs; the pair consists of a `String` and an `Object`; the `String` indicates the type of object and is one of the following: `itemListenerK` indicating an `ItemListener` object; `actionListenerK` indicating an `ActionListener` object
        Throws:
          `IOException`
        See Also:
          `AWTEventMulticaster.save(ObjectOutputStream, String, EventListener)`, `Component.itemListenerK`, `Component.actionListenerK`, `List.readObject(ObjectInputStream)`

    - ### Serialized Fields

      - #### items

            Vector<E> items

        A vector created to contain items which will become part of the List Component.
        See Also:
          `List.addItem(String)`, `List.getItem(int)`

      - #### listSerializedDataVersion

            int listSerializedDataVersion

        The `List` component's Serialized Data Version.

      - #### multipleMode

            boolean multipleMode

        `multipleMode` is a variable that will be set to `true` if a list component is to be set to multiple selection mode, that is where the user can select more than one item in a list at one time. `multipleMode` will be set to false if the list component is set to single selection, that is where the user can only select one item on the list at any one time.
        See Also:
          `List.isMultipleMode()`, `List.setMultipleMode(boolean)`

      - #### rows

            int rows

        This field will represent the number of visible rows in the `List` Component. It is specified only once, and that is when the list component is actually created. It will never change.
        See Also:
          `List.getRows()`

      - #### selected

            int[] selected

        `selected` is an array that will contain the indices of items that have been selected.
        See Also:
          `List.getSelectedIndexes()`, `List.getSelectedIndex()`

      - #### visibleIndex

            int visibleIndex

        This variable contains the value that will be used when trying to make a particular list item visible.
        See Also:
          `List.makeVisible(int)`

  - ### Class java.awt.List.AccessibleAWTList extends Component.AccessibleAWTComponent implements Serializable

    serialVersionUID:
      7924617370136012829L

  - ### Class java.awt.List.AccessibleAWTList.AccessibleAWTListChild extends Component.AccessibleAWTComponent implements Serializable

    serialVersionUID:
      4412022926028300317L

    - ### Serialized Fields

      - #### indexInParent

            int indexInParent

      - #### parent

            List parent

  - ### Class java.awt.MediaTracker extends Object implements Serializable

    serialVersionUID:
      -483174189758638095L

    - ### Serialized Fields

      - #### head

            java.awt.MediaEntry head

        The head of the list of `Images` that is being tracked by the `MediaTracker`.
        See Also:
          `MediaTracker.addImage(Image, int)`, `MediaTracker.removeImage(Image)`

      - #### target

            Component target

        A given `Component` that will be tracked by a media tracker where the image will eventually be drawn.
        See Also:
          `MediaTracker(Component)`

  - ### Class java.awt.Menu extends MenuItem implements Serializable

    serialVersionUID:
      -8809584163345499784L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException,
                                    HeadlessException

        Reads the `ObjectInputStream`. Unrecognized keys or values will be ignored.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
          `IOException`
          `ClassNotFoundException`
        See Also:
          `GraphicsEnvironment.isHeadless()`, `Menu.writeObject(ObjectOutputStream)`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to stream.
        Throws:
          `IOException`
        See Also:
          `AWTEventMulticaster.save(ObjectOutputStream, String, EventListener)`, `Menu.readObject(ObjectInputStream)`

    - ### Serialized Fields

      - #### isHelpMenu

            boolean isHelpMenu

        This field will be set to `true` if the Menu in question is actually a help menu. Otherwise it will be set to `false`.

      - #### items

            Vector<E> items

        A vector of the items that will be part of the Menu.
        See Also:
          `Menu.countItems()`

      - #### menuSerializedDataVersion

            int menuSerializedDataVersion

        The menu serialized Data Version.

      - #### tearOff

            boolean tearOff

        This field indicates whether the menu has the tear of property or not. It will be set to `true` if the menu has the tear off property and it will be set to `false` if it does not. A torn off menu can be deleted by a user when it is no longer needed.
        See Also:
          `Menu.isTearOff()`

  - ### Class java.awt.Menu.AccessibleAWTMenu extends MenuItem.AccessibleAWTMenuItem implements Serializable

    serialVersionUID:
      5228160894980069094L

  - ### Class java.awt.MenuBar extends MenuComponent implements Serializable

    serialVersionUID:
      -4930327919388951260L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Reads the `ObjectInputStream`. Unrecognized keys or values will be ignored.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
          `ClassNotFoundException`
          `IOException`
        See Also:
          `GraphicsEnvironment.isHeadless()`, `MenuBar.writeObject(java.io.ObjectOutputStream)`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws ClassNotFoundException,
                                     IOException

        Writes default serializable fields to stream.
        Throws:
          `ClassNotFoundException`
          `IOException`
        See Also:
          `AWTEventMulticaster.save(ObjectOutputStream, String, EventListener)`, `MenuBar.readObject(java.io.ObjectInputStream)`

    - ### Serialized Fields

      - #### helpMenu

            Menu helpMenu

        This menu is a special menu dedicated to help. The one thing to note about this menu is that on some platforms it appears at the right edge of the menubar.
        See Also:
          `MenuBar.getHelpMenu()`, `MenuBar.setHelpMenu(Menu)`

      - #### menuBarSerializedDataVersion

            int menuBarSerializedDataVersion

        The MenuBar's serialized data version.

      - #### menus

            Vector<E> menus

        This field represents a vector of the actual menus that will be part of the MenuBar.
        See Also:
          `MenuBar.countMenus()`

  - ### Class java.awt.MenuBar.AccessibleAWTMenuBar extends MenuComponent.AccessibleAWTMenuComponent implements Serializable

    serialVersionUID:
      -8577604491830083815L

  - ### Class java.awt.MenuComponent extends Object implements Serializable

    serialVersionUID:
      -4536902356223894379L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Reads the menu component from an object input stream.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
          `ClassNotFoundException`
          `IOException`
        See Also:
          `GraphicsEnvironment.isHeadless()`

    - ### Serialized Fields

      - #### accessibleContext

            AccessibleContext accessibleContext

      - #### font

            Font font

        The menu component's font. This value can be `null` at which point a default will be used. This defaults to `null`.
        See Also:
          `MenuComponent.setFont(Font)`, `MenuComponent.getFont()`

      - #### name

            String name

        The menu component's name, which defaults to `null`.
        See Also:
          `MenuComponent.getName()`, `MenuComponent.setName(String)`

      - #### nameExplicitlySet

            boolean nameExplicitlySet

        A variable to indicate whether a name is explicitly set. If `true` the name will be set explicitly. This defaults to `false`.
        See Also:
          `MenuComponent.setName(String)`

      - #### newEventsOnly

            boolean newEventsOnly

        Defaults to `false`.
        See Also:
          `MenuComponent.dispatchEvent(AWTEvent)`

  - ### Class java.awt.MenuComponent.AccessibleAWTMenuComponent extends AccessibleContext implements Serializable

    serialVersionUID:
      -4269533416223798698L

  - ### Class java.awt.MenuItem extends MenuComponent implements Serializable

    serialVersionUID:
      -21757335363267194L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Reads the `ObjectInputStream` and if it isn't `null` adds a listener to receive action events fired by the `Menu` Item. Unrecognized keys or values will be ignored.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
          `ClassNotFoundException`
          `IOException`
        See Also:
          `MenuItem.removeActionListener(ActionListener)`, `MenuItem.addActionListener(ActionListener)`, `MenuItem.writeObject(ObjectOutputStream)`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to stream. Writes a list of serializable `ActionListeners` as optional data. The non-serializable listeners are detected and no attempt is made to serialize them.
        Serial Data:
          `null` terminated sequence of 0 or more pairs; the pair consists of a `String` and an `Object`; the `String` indicates the type of object and is one of the following: `actionListenerK` indicating an `ActionListener` object
        Throws:
          `IOException`
        See Also:
          `AWTEventMulticaster.save(ObjectOutputStream, String, EventListener)`, `MenuItem.readObject(ObjectInputStream)`

    - ### Serialized Fields

      - #### actionCommand

            String actionCommand

        This field indicates the command that has been issued by a particular menu item. By default the `actionCommand` is the label of the menu item, unless it has been set using setActionCommand.
        See Also:
          `MenuItem.setActionCommand(String)`, `MenuItem.getActionCommand()`

      - #### enabled

            boolean enabled

        A value to indicate whether a menu item is enabled or not. If it is enabled, `enabled` will be set to true. Else `enabled` will be set to false.
        See Also:
          `MenuItem.isEnabled()`, `MenuItem.setEnabled(boolean)`

      - #### eventMask

            long eventMask

        The eventMask is ONLY set by subclasses via enableEvents. The mask should NOT be set when listeners are registered so that we can distinguish the difference between when listeners request events and subclasses request them.

      - #### label

            String label

        `label` is the label of a menu item. It can be any string.
        See Also:
          `MenuItem.getLabel()`, `MenuItem.setLabel(String)`

      - #### menuItemSerializedDataVersion

            int menuItemSerializedDataVersion

        Menu item serialized data version.

      - #### shortcut

            MenuShortcut shortcut

        A sequence of key stokes that ia associated with a menu item. Note :in 1.1.2 you must use setActionCommand() on a menu item in order for its shortcut to work.
        See Also:
          `MenuItem.getShortcut()`, `MenuItem.setShortcut(MenuShortcut)`, `MenuItem.deleteShortcut()`

  - ### Class java.awt.MenuItem.AccessibleAWTMenuItem extends MenuComponent.AccessibleAWTMenuComponent implements Serializable

    serialVersionUID:
      -217847831945965825L

  - ### Class java.awt.MenuShortcut extends Object implements Serializable

    serialVersionUID:
      143448358473180225L

    - ### Serialized Fields

      - #### key

            int key

        The virtual keycode for the menu shortcut. This is the keycode with which the menu shortcut will be created. Note that it is a virtual keycode, not a character, e.g. KeyEvent.VK_A, not 'a'. Note: in 1.1.x you must use setActionCommand() on a menu item in order for its shortcut to work, otherwise it will fire a null action command.
        Since:
          1.1
        See Also:
          `MenuShortcut.getKey()`, `MenuShortcut.usesShiftModifier()`, `KeyEvent`

      - #### usesShift

            boolean usesShift

        Indicates whether the shift key was pressed. If true, the shift key was pressed. If false, the shift key was not pressed
        Since:
          1.1
        See Also:
          `MenuShortcut.usesShiftModifier()`

  - ### Class java.awt.Panel extends Container implements Serializable

    serialVersionUID:
      -2728009084054400034L

  - ### Class java.awt.Panel.AccessibleAWTPanel extends Container.AccessibleAWTContainer implements Serializable

    serialVersionUID:
      -6409552226660031050L

  - ### Class java.awt.Point extends Point2D implements Serializable

    serialVersionUID:
      -5276940640259749850L

    - ### Serialized Fields

      - #### x

            int x

        The X coordinate of this `Point`. If no X coordinate is set it will default to 0.
        Since:
          1.0
        See Also:
          `Point.getLocation()`, `Point.move(int, int)`

      - #### y

            int y

        The Y coordinate of this `Point`. If no Y coordinate is set it will default to 0.
        Since:
          1.0
        See Also:
          `Point.getLocation()`, `Point.move(int, int)`

  - ### Class java.awt.Polygon extends Object implements Serializable

    serialVersionUID:
      -6460061437900069969L

    - ### Serialized Fields

      - #### bounds

            Rectangle bounds

        The bounds of this `Polygon`. This value can be null.
        Since:
          1.0
        See Also:
          `Polygon.getBoundingBox()`, `Polygon.getBounds()`

      - #### npoints

            int npoints

        The total number of points. The value of `npoints` represents the number of valid points in this `Polygon` and might be less than the number of elements in `xpoints` or `ypoints`. This value can be NULL.
        Since:
          1.0
        See Also:
          `Polygon.addPoint(int, int)`

      - #### xpoints

            int[] xpoints

        The array of X coordinates. The number of elements in this array might be more than the number of X coordinates in this `Polygon`. The extra elements allow new points to be added to this `Polygon` without re-creating this array. The value of `npoints` is equal to the number of valid points in this `Polygon`.
        Since:
          1.0
        See Also:
          `Polygon.addPoint(int, int)`

      - #### ypoints

            int[] ypoints

        The array of Y coordinates. The number of elements in this array might be more than the number of Y coordinates in this `Polygon`. The extra elements allow new points to be added to this `Polygon` without re-creating this array. The value of `npoints` is equal to the number of valid points in this `Polygon`.
        Since:
          1.0
        See Also:
          `Polygon.addPoint(int, int)`

  - ### Class java.awt.PopupMenu extends Menu implements Serializable

    serialVersionUID:
      -4620452533522760060L

  - ### Class java.awt.PopupMenu.AccessibleAWTPopupMenu extends Menu.AccessibleAWTMenu implements Serializable

    serialVersionUID:
      -4282044795947239955L

  - ### Class java.awt.Rectangle extends Rectangle2D implements Serializable

    serialVersionUID:
      -4345857070255674764L

    - ### Serialized Fields

      - #### height

            int height

        The height of the `Rectangle`.
        Since:
          1.0
        See Also:
          `Rectangle.setSize(int, int)`, `Rectangle.getSize()`

      - #### width

            int width

        The width of the `Rectangle`.
        Since:
          1.0
        See Also:
          `Rectangle.setSize(int, int)`, `Rectangle.getSize()`

      - #### x

            int x

        The X coordinate of the upper-left corner of the `Rectangle`.
        Since:
          1.0
        See Also:
          `Rectangle.setLocation(int, int)`, `Rectangle.getLocation()`

      - #### y

            int y

        The Y coordinate of the upper-left corner of the `Rectangle`.
        Since:
          1.0
        See Also:
          `Rectangle.setLocation(int, int)`, `Rectangle.getLocation()`

  - ### Class java.awt.Scrollbar extends Component implements Serializable

    serialVersionUID:
      8451667562882310543L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Reads the `ObjectInputStream` and if it isn't `null` adds a listener to receive adjustment events fired by the `Scrollbar`. Unrecognized keys or values will be ignored.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
          `ClassNotFoundException`
          `IOException`
        See Also:
          `GraphicsEnvironment.isHeadless()`, `Scrollbar.writeObject(ObjectOutputStream)`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to stream. Writes a list of serializable `AdjustmentListeners` as optional data. The non-serializable listeners are detected and no attempt is made to serialize them.
        Serial Data:
          `null` terminated sequence of 0 or more pairs; the pair consists of a `String` and an `Object`; the `String` indicates the type of object and is one of the following: `adjustmentListenerK` indicating an `AdjustmentListener` object
        Throws:
          `IOException`
        See Also:
          `AWTEventMulticaster.save(ObjectOutputStream, String, EventListener)`, `Component.adjustmentListenerK`, `Scrollbar.readObject(ObjectInputStream)`

    - ### Serialized Fields

      - #### lineIncrement

            int lineIncrement

        The amount by which the scrollbar value will change when going up or down by a line. This value must be greater than zero.
        See Also:
          `Scrollbar.getLineIncrement()`, `Scrollbar.setLineIncrement(int)`

      - #### maximum

            int maximum

        The maximum value of the `Scrollbar`. This value must be greater than the `minimum` value.
        See Also:
          `Scrollbar.getMaximum()`, `Scrollbar.setMaximum(int)`

      - #### minimum

            int minimum

        The minimum value of the `Scrollbar`. This value must be less than the `maximum` value.
        See Also:
          `Scrollbar.getMinimum()`, `Scrollbar.setMinimum(int)`

      - #### orientation

            int orientation

        The `Scrollbar`'s orientation--being either horizontal or vertical. This value should be specified when the scrollbar is created.
        orientation can be either : `VERTICAL` or `HORIZONTAL` only.
        See Also:
          `Scrollbar.getOrientation()`, `Scrollbar.setOrientation(int)`

      - #### pageIncrement

            int pageIncrement

        The amount by which the scrollbar value will change when going up or down by a page. This value must be greater than zero.
        See Also:
          `Scrollbar.getPageIncrement()`, `Scrollbar.setPageIncrement(int)`

      - #### scrollbarSerializedDataVersion

            int scrollbarSerializedDataVersion

        The scroll bar's serialized Data Version.

      - #### value

            int value

        The value of the `Scrollbar`. This property must be greater than or equal to `minimum` and less than or equal to `maximum - visibleAmount`
        See Also:
          `Scrollbar.getValue()`, `Scrollbar.setValue(int)`

      - #### visibleAmount

            int visibleAmount

        The size of the `Scrollbar`'s bubble. When a scroll bar is used to select a range of values, the visibleAmount represents the size of this range. Depending on platform, this may be visually indicated by the size of the bubble.
        See Also:
          `Scrollbar.getVisibleAmount()`, `Scrollbar.setVisibleAmount(int)`

  - ### Class java.awt.Scrollbar.AccessibleAWTScrollBar extends Component.AccessibleAWTComponent implements Serializable

    serialVersionUID:
      -344337268523697807L

  - ### Class java.awt.ScrollPane extends Container implements Serializable

    serialVersionUID:
      7956609840827222915L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Reads default serializable fields to stream.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless()` returns `true`
          `ClassNotFoundException`
          `IOException`
        See Also:
          `GraphicsEnvironment.isHeadless()`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to stream.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### hAdjustable

            ScrollPaneAdjustable hAdjustable

        An adjustable horizontal scrollbar. It is important to note that you must NOT call 3 `Adjustable` methods, namely: `setMinimum()`, `setMaximum()`, `setVisibleAmount()`.
        See Also:
          `ScrollPane.getHAdjustable()`

      - #### scrollbarDisplayPolicy

            int scrollbarDisplayPolicy

        There are 3 ways in which a scroll bar can be displayed. This integer will represent one of these 3 displays - (SCROLLBARS_ALWAYS, SCROLLBARS_AS_NEEDED, SCROLLBARS_NEVER)
        See Also:
          `ScrollPane.getScrollbarDisplayPolicy()`

      - #### vAdjustable

            ScrollPaneAdjustable vAdjustable

        An adjustable vertical scrollbar. It is important to note that you must NOT call 3 `Adjustable` methods, namely: `setMinimum()`, `setMaximum()`, `setVisibleAmount()`.
        See Also:
          `ScrollPane.getVAdjustable()`

      - #### wheelScrollingEnabled

            boolean wheelScrollingEnabled

        Indicates whether or not scrolling should take place when a MouseWheelEvent is received.
        Since:
          1.4

  - ### Class java.awt.ScrollPane.AccessibleAWTScrollPane extends Container.AccessibleAWTContainer implements Serializable

    serialVersionUID:
      6100703663886637L

  - ### Class java.awt.ScrollPaneAdjustable extends Object implements Serializable

    serialVersionUID:
      -3359745691033257079L

    - ### Serialized Fields

      - #### adjustmentListener

            AdjustmentListener adjustmentListener

      - #### blockIncrement

            int blockIncrement

        The amount by which the scrollbar value will change when going up or down by a page. This value should be a non negative integer.
        See Also:
          `ScrollPaneAdjustable.getBlockIncrement()`, `ScrollPaneAdjustable.setBlockIncrement(int)`

      - #### maximum

            int maximum

        The maximum value of this scrollbar. This value can only be set by the `ScrollPane`.
        See Also:
          `ScrollPaneAdjustable.getMaximum()`, `ScrollPaneAdjustable.setSpan(int, int, int)`

      - #### minimum

            int minimum

        The minimum value of this scrollbar. This value can only be set by the `ScrollPane`.

        ATTN: In current implementation `minimum` is always `0`. This field can only be altered via `setSpan` method and `ScrollPane` always calls that method with `0` for the minimum. `getMinimum` method always returns `0` without checking this field.

        See Also:
          `ScrollPaneAdjustable.getMinimum()`, `ScrollPaneAdjustable.setSpan(int, int, int)`

      - #### orientation

            int orientation

        Orientation of this scrollbar.
        See Also:
          `ScrollPaneAdjustable.getOrientation()`, `Adjustable.HORIZONTAL`, `Adjustable.VERTICAL`

      - #### sp

            ScrollPane sp

        The `ScrollPane` this object is a scrollbar of.

      - #### unitIncrement

            int unitIncrement

        The amount by which the scrollbar value will change when going up or down by a line. This value should be a non negative integer.
        See Also:
          `ScrollPaneAdjustable.getUnitIncrement()`, `ScrollPaneAdjustable.setUnitIncrement(int)`

      - #### value

            int value

        The value of this scrollbar. `value` should be greater than `minimum` and less than `maximum`
        See Also:
          `ScrollPaneAdjustable.getValue()`, `ScrollPaneAdjustable.setValue(int)`

      - #### visibleAmount

            int visibleAmount

        The size of the visible portion of this scrollbar. This value can only be set by the `ScrollPane`.
        See Also:
          `ScrollPaneAdjustable.getVisibleAmount()`, `ScrollPaneAdjustable.setSpan(int, int, int)`

  - ### Class java.awt.SystemColor extends Color implements Serializable

    serialVersionUID:
      4503142729533789064L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

        The design of the `SystemColor` class assumes that the `SystemColor` object instances stored in the static final fields above are the only instances that can be used by developers. This method helps maintain those limits on instantiation by using the index stored in the value field of the serialized form of the object to replace the serialized object with the equivalent static object constant field of `SystemColor`. See the `SystemColor.writeReplace()` method for more information on the serialized form of these objects.

      - #### writeReplace

            private Object writeReplace​()
                                 throws ObjectStreamException

        Returns a specialized version of the `SystemColor` object for writing to the serialized stream.
        Serial Data:
          The value field of a serialized `SystemColor` object contains the array index of the system color instead of the rgb data for the system color. This index is used by the `SystemColor.readResolve()` method to resolve the deserialized objects back to the original static constant versions to ensure unique instances of each `SystemColor` object.
        Throws:
          `ObjectStreamException`

  - ### Class java.awt.TextArea extends TextComponent implements Serializable

    serialVersionUID:
      3692302836626095722L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Read the ObjectInputStream.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless()` returns `true`
          `ClassNotFoundException`
          `IOException`
        See Also:
          `GraphicsEnvironment.isHeadless()`

    - ### Serialized Fields

      - #### columns

            int columns

        The number of columns in the `TextArea`. A column is an approximate average character width that is platform-dependent. This parameter will determine the text area's width. Guaranteed to be non-negative.
        See Also:
          `TextArea.setColumns(int)`, `TextArea.getColumns()`

      - #### rows

            int rows

        The number of rows in the `TextArea`. This parameter will determine the text area's height. Guaranteed to be non-negative.
        See Also:
          `TextArea.getRows()`, `TextArea.setRows(int)`

      - #### scrollbarVisibility

            int scrollbarVisibility

        Determines which scrollbars are created for the text area. It can be one of four values : `SCROLLBARS_BOTH` = both scrollbars.
        `SCROLLBARS_HORIZONTAL_ONLY` = Horizontal bar only.
        `SCROLLBARS_VERTICAL_ONLY` = Vertical bar only.
        `SCROLLBARS_NONE` = No scrollbars.
        See Also:
          `TextArea.getScrollbarVisibility()`

      - #### textAreaSerializedDataVersion

            int textAreaSerializedDataVersion

        The textArea Serialized Data Version.

  - ### Class java.awt.TextArea.AccessibleAWTTextArea extends TextComponent.AccessibleAWTTextComponent implements Serializable

    serialVersionUID:
      3472827823632144419L

  - ### Class java.awt.TextComponent extends Component implements Serializable

    serialVersionUID:
      -2214773872412987419L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Read the ObjectInputStream, and if it isn't null, add a listener to receive text events fired by the TextComponent. Unrecognized keys or values will be ignored.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless()` returns `true`
          `ClassNotFoundException`
          `IOException`
        See Also:
          `TextComponent.removeTextListener(java.awt.event.TextListener)`, `TextComponent.addTextListener(java.awt.event.TextListener)`, `GraphicsEnvironment.isHeadless()`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to stream. Writes a list of serializable TextListener(s) as optional data. The non-serializable TextListener(s) are detected and no attempt is made to serialize them.
        Serial Data:
          Null terminated sequence of zero or more pairs. A pair consists of a String and Object. The String indicates the type of object and is one of the following : textListenerK indicating and TextListener object.
        Throws:
          `IOException`
        See Also:
          `AWTEventMulticaster.save(ObjectOutputStream, String, EventListener)`, `Component.textListenerK`

    - ### Serialized Fields

      - #### backgroundSetByClientCode

            boolean backgroundSetByClientCode

      - #### checkForEnableIM

            boolean checkForEnableIM

      - #### editable

            boolean editable

        A boolean indicating whether or not this `TextComponent` is editable. It will be `true` if the text component is editable and `false` if not.
        See Also:
          `TextComponent.isEditable()`

      - #### selectionEnd

            int selectionEnd

        The selection refers to the selected text, and the `selectionEnd` is the end position of the selected text.
        See Also:
          `TextComponent.getSelectionEnd()`, `TextComponent.setSelectionEnd(int)`

      - #### selectionStart

            int selectionStart

        The selection refers to the selected text, and the `selectionStart` is the start position of the selected text.
        See Also:
          `TextComponent.getSelectionStart()`, `TextComponent.setSelectionStart(int)`

      - #### text

            String text

        The value of the text. A `null` value is the same as "".
        See Also:
          `TextComponent.setText(String)`, `TextComponent.getText()`

      - #### textComponentSerializedDataVersion

            int textComponentSerializedDataVersion

        The textComponent SerializedDataVersion.

  - ### Class java.awt.TextComponent.AccessibleAWTTextComponent extends Component.AccessibleAWTComponent implements Serializable

    serialVersionUID:
      3631432373506317811L

  - ### Class java.awt.TextField extends TextComponent implements Serializable

    serialVersionUID:
      -2966288784432217853L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Read the ObjectInputStream and if it isn't null, add a listener to receive action events fired by the TextField. Unrecognized keys or values will be ignored.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless()` returns `true`
          `ClassNotFoundException`
          `IOException`
        See Also:
          `TextField.removeActionListener(ActionListener)`, `TextField.addActionListener(ActionListener)`, `GraphicsEnvironment.isHeadless()`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to stream. Writes a list of serializable ActionListener(s) as optional data. The non-serializable ActionListener(s) are detected and no attempt is made to serialize them.
        Serial Data:
          Null terminated sequence of zero or more pairs. A pair consists of a String and Object. The String indicates the type of object and is one of the following : ActionListenerK indicating and ActionListener object.
        Throws:
          `IOException`
        See Also:
          `AWTEventMulticaster.save(ObjectOutputStream, String, EventListener)`, `Component.actionListenerK`

    - ### Serialized Fields

      - #### columns

            int columns

        The number of columns in the text field. A column is an approximate average character width that is platform-dependent. Guaranteed to be non-negative.
        See Also:
          `TextField.setColumns(int)`, `TextField.getColumns()`

      - #### echoChar

            char echoChar

        The echo character, which is used when the user wishes to disguise the characters typed into the text field. The disguises are removed if echoChar = `0`.
        See Also:
          `TextField.getEchoChar()`, `TextField.setEchoChar(char)`, `TextField.echoCharIsSet()`

      - #### textFieldSerializedDataVersion

            int textFieldSerializedDataVersion

        The textField Serialized Data Version.

  - ### Class java.awt.TextField.AccessibleAWTTextField extends TextComponent.AccessibleAWTTextComponent implements Serializable

    serialVersionUID:
      6219164359235943158L

  - ### Class java.awt.Window extends Container implements Serializable

    serialVersionUID:
      4497834738069338734L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException,
                                    HeadlessException

        Reads the `ObjectInputStream` and an optional list of listeners to receive various events fired by the component; also reads a list of (possibly `null`) child windows. Unrecognized keys or values will be ignored.
        Throws:
          `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
          `ClassNotFoundException`
          `IOException`
        See Also:
          `GraphicsEnvironment.isHeadless()`, `Window.writeObject(java.io.ObjectOutputStream)`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to stream. Writes a list of serializable `WindowListener`s and `WindowFocusListener`s as optional data. Writes a list of child windows as optional data. Writes a list of icon images as optional data
        Serial Data:
          `null` terminated sequence of 0 or more pairs; the pair consists of a `String` and `Object`; the `String` indicates the type of object and is one of the following: `windowListenerK` indicating a `WindowListener` object; `windowFocusWindowK` indicating a `WindowFocusListener` object; `ownedWindowK` indicating a child `Window` object
        Throws:
          `IOException`
        See Also:
          `AWTEventMulticaster.save(java.io.ObjectOutputStream, java.lang.String, java.util.EventListener)`, `Component.windowListenerK`, `Component.windowFocusListenerK`, `Component.ownedWindowK`, `Window.readObject(ObjectInputStream)`

    - ### Serialized Fields

      - #### alwaysOnTop

            boolean alwaysOnTop

        A boolean value representing Window always-on-top state
        Since:
          1.5
        See Also:
          `Window.setAlwaysOnTop(boolean)`, `Window.isAlwaysOnTop()`

      - #### autoRequestFocus

            boolean autoRequestFocus

        Indicates whether this window should receive focus on subsequently being shown (with a call to `setVisible(true)`), or being moved to the front (with a call to `toFront()`).
        Since:
          1.7
        See Also:
          `Window.setAutoRequestFocus(boolean)`, `Window.isAutoRequestFocus()`

      - #### focusableWindowState

            boolean focusableWindowState

        Indicates whether this Window can become the focused Window.
        Since:
          1.4
        See Also:
          `Window.getFocusableWindowState()`, `Window.setFocusableWindowState(boolean)`

      - #### focusMgr

            java.awt.FocusManager focusMgr

        Unused. Maintained for serialization backward-compatibility.
        Since:
          1.2

      - #### locationByPlatform

            boolean locationByPlatform

      - #### modalExclusionType

            Dialog.ModalExclusionType modalExclusionType

        Since:
          1.6
        See Also:
          `Dialog.ModalExclusionType`, `Window.getModalExclusionType()`, `Window.setModalExclusionType(java.awt.Dialog.ModalExclusionType)`

      - #### opacity

            float opacity

        The opacity level of the window
        Since:
          1.7
        See Also:
          `Window.setOpacity(float)`, `Window.getOpacity()`

      - #### shape

            Shape shape

        The shape assigned to this window. This field is set to `null` if no shape is set (rectangular window).
        Since:
          1.7
        See Also:
          `Window.getShape()`, `Window.setShape(Shape)`

      - #### state

            int state

        An Integer value representing the Window State.
        Since:
          1.2
        See Also:
          `Window.show()`

      - #### syncLWRequests

            boolean syncLWRequests

      - #### type

            Window.Type type

        Window type. Synchronization: ObjectLock

      - #### warningString

            String warningString

        This represents the warning message that is to be displayed in a non secure window. ie : a window that has a security manager installed that denies `AWTPermission("showWindowWithoutWarningBanner")`. This message can be displayed anywhere in the window.
        See Also:
          `Window.getWarningString()`

      - #### windowSerializedDataVersion

            int windowSerializedDataVersion

        The window serialized data version.

  - ### Class java.awt.Window.AccessibleAWTWindow extends Container.AccessibleAWTContainer implements Serializable

    serialVersionUID:
      4215068635060671780L

- ## Package java.awt.color

  - ### Class java.awt.color.CMMException extends RuntimeException implements Serializable

    serialVersionUID:
      5775558044142994965L

  - ### Class java.awt.color.ColorSpace extends Object implements Serializable

    serialVersionUID:
      -409452704308689724L

    - ### Serialized Fields

      - #### numComponents

            int numComponents

      - #### type

            int type

  - ### Class java.awt.color.ICC_ColorSpace extends ColorSpace implements Serializable

    serialVersionUID:
      3455889114070431483L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Validate an ICC_ColorSpace read from an object input stream
        Throws:
          `ClassNotFoundException`
          `IOException`

    - ### Serialized Fields

      - #### diffMinMax

            float[] diffMinMax

      - #### invDiffMinMax

            float[] invDiffMinMax

      - #### maxVal

            float[] maxVal

      - #### minVal

            float[] minVal

      - #### needScaleInit

            boolean needScaleInit

      - #### thisProfile

            ICC_Profile thisProfile

  - ### Class java.awt.color.ICC_Profile extends Object implements Serializable

    serialVersionUID:
      -3938515861990936766L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reads default serializable fields from the stream. Reads from the stream a string and an array of bytes as additional data.
        Serial Data:
          The `String` is the name of one of `CS_*` constants defined in the `ColorSpace` class if the profile object is a profile for a predefined color space (for example `"CS_sRGB"`). The string is `null` otherwise.

          The `byte[]` array is the profile data for the profile. It will usually be `null` for the predefined profiles.

          If the string is recognized as a constant name for predefined color space the object will be resolved into profile obtained with `getInstance(int cspace)` and the profile data are ignored. Otherwise the object will be resolved into profile obtained with `getInstance(byte[] data)`.

        Throws:
          `IOException` - thrown by `ObjectInputStream`.
          `ClassNotFoundException` - thrown by `ObjectInputStream`.
        See Also:
          `ICC_Profile.readResolve()`, `ICC_Profile.getInstance(int)`, `ICC_Profile.getInstance(byte[])`

      - #### readResolve

            protected Object readResolve​()
                                  throws ObjectStreamException

        Resolves instances being deserialized into instances registered with CMM.
        Throws:
          `ObjectStreamException` - never thrown, but mandated by the serialization spec.
        Since:
          1.3

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes default serializable fields to the stream. Writes a string and an array of bytes to the stream as additional data.
        Serial Data:
          The `String` is the name of one of `CS_*` constants defined in the `ColorSpace` class if the profile object is a profile for a predefined color space (for example `"CS_sRGB"`). The string is `null` otherwise.

          The `byte[]` array is the profile data for the profile. For predefined color spaces `null` is written instead of the profile data. If in the future versions of Java API new predefined color spaces will be added, future versions of this class may choose to write for new predefined color spaces not only the color space name, but the profile data as well so that older versions could still deserialize the object.

        Throws:
          `IOException` - thrown by `ObjectInputStream`.

    - ### Serialized Fields

      - #### iccProfileSerializedDataVersion

            int iccProfileSerializedDataVersion

        Version of the format of additional serialized data in the stream. Version `1` corresponds to Java 2 Platform, v1.3.
        Since:
          1.3

  - ### Class java.awt.color.ICC_ProfileGray extends ICC_Profile implements Serializable

    serialVersionUID:
      -1124721290732002649L

  - ### Class java.awt.color.ICC_ProfileRGB extends ICC_Profile implements Serializable

    serialVersionUID:
      8505067385152579334L

  - ### Class java.awt.color.ProfileDataException extends RuntimeException implements Serializable

    serialVersionUID:
      7286140888240322498L

- ## Package java.awt.datatransfer

  - ### Class java.awt.datatransfer.DataFlavor extends Object implements Serializable

    serialVersionUID:
      8367026044764648243L

    - ### Serialization Methods

      - #### readExternal

            public void readExternal​(ObjectInput is)
                              throws IOException,
                                     ClassNotFoundException

        Restores this `DataFlavor` from a Serialized state.
        Throws:
          `IOException` - if I/O errors occur
          `ClassNotFoundException` - If the class for an object being restored cannot be found.

      - #### writeExternal

            public void writeExternal​(ObjectOutput os)
                               throws IOException

        Serializes this `DataFlavor`.
        Throws:
          `IOException` - Includes any I/O exceptions that may occur

  - ### Class java.awt.datatransfer.FlavorEvent extends EventObject implements Serializable

    serialVersionUID:
      -5842664112252414548L

  - ### Class java.awt.datatransfer.UnsupportedFlavorException extends Exception implements Serializable

    serialVersionUID:
      5383814944251665601L

- ## Package java.awt.desktop

  - ### Class java.awt.desktop.AboutEvent extends AppEvent implements Serializable

    serialVersionUID:
      -5987180734802756477L

  - ### Class java.awt.desktop.AppEvent extends EventObject implements Serializable

    serialVersionUID:
      -5958503993556009432L

  - ### Class java.awt.desktop.AppForegroundEvent extends AppEvent implements Serializable

    serialVersionUID:
      -5513582555740533911L

  - ### Class java.awt.desktop.AppHiddenEvent extends AppEvent implements Serializable

    serialVersionUID:
      2637465279476429224L

  - ### Class java.awt.desktop.AppReopenedEvent extends AppEvent implements Serializable

    serialVersionUID:
      1503238361530407990L

  - ### Class java.awt.desktop.FilesEvent extends AppEvent implements Serializable

    serialVersionUID:
      5271763715462312871L

    - ### Serialized Fields

      - #### files

            List<E> files

  - ### Class java.awt.desktop.OpenFilesEvent extends FilesEvent implements Serializable

    serialVersionUID:
      -3982871005867718956L

    - ### Serialized Fields

      - #### searchTerm

            String searchTerm

  - ### Class java.awt.desktop.OpenURIEvent extends AppEvent implements Serializable

    serialVersionUID:
      221209100935933476L

    - ### Serialized Fields

      - #### uri

            URI uri

  - ### Class java.awt.desktop.PreferencesEvent extends AppEvent implements Serializable

    serialVersionUID:
      -6398607097086476160L

  - ### Class java.awt.desktop.PrintFilesEvent extends FilesEvent implements Serializable

    serialVersionUID:
      -5752560876153618618L

  - ### Class java.awt.desktop.QuitEvent extends AppEvent implements Serializable

    serialVersionUID:
      -256100795532403146L

  - ### Class java.awt.desktop.ScreenSleepEvent extends AppEvent implements Serializable

    serialVersionUID:
      7521606180376544150L

  - ### Class java.awt.desktop.SystemSleepEvent extends AppEvent implements Serializable

    serialVersionUID:
      11372269824930549L

  - ### Class java.awt.desktop.UserSessionEvent extends AppEvent implements Serializable

    serialVersionUID:
      6747138462796569055L

    - ### Serialized Fields

      - #### reason

            UserSessionEvent.Reason reason

- ## Package java.awt.dnd

  - ### Class java.awt.dnd.DragGestureEvent extends EventObject implements Serializable

    serialVersionUID:
      9080172649166731306L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Deserializes this `DragGestureEvent`. This method first performs default deserialization for all non-`transient` fields. An attempt is then made to deserialize this object's `List` of gesture events as well. This is first attempted by deserializing the field `events`, because, in releases prior to 1.4, a non-`transient` field of this name stored the `List` of gesture events. If this fails, the next object in the stream is used instead. If the resulting `List` is `null`, this object's `List` of gesture events is set to an empty `List`.
        Throws:
          `ClassNotFoundException`
          `IOException`
        Since:
          1.4

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Serializes this `DragGestureEvent`. Performs default serialization and then writes out this object's `List` of gesture events if and only if the `List` can be serialized. If not, `null` is written instead. In this case, a `DragGestureEvent` created from the resulting deserialized stream will contain an empty `List` of gesture events.
        Serial Data:
          The default serializable fields, in alphabetical order, followed by either a `List` instance, or `null`.
        Throws:
          `IOException`
        Since:
          1.4

    - ### Serialized Fields

      - #### action

            int action

        The user's preferred action.

      - #### component

            Component component

        The Component associated with this DragGestureEvent.

      - #### dragSource

            DragSource dragSource

        The DragSource associated with this DragGestureEvent.

      - #### origin

            Point origin

        The origin of the drag.

  - ### Class java.awt.dnd.DragGestureRecognizer extends Object implements Serializable

    serialVersionUID:
      8996673345831063337L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Deserializes this `DragGestureRecognizer`. This method first performs default deserialization for all non-`transient` fields. This object's `DragGestureListener` is then deserialized as well by using the next object in the stream.
        Throws:
          `ClassNotFoundException`
          `IOException`
        Since:
          1.4

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Serializes this `DragGestureRecognizer`. This method first performs default serialization. Then, this object's `DragGestureListener` is written out if and only if it can be serialized. If not, `null` is written instead.
        Serial Data:
          The default serializable fields, in alphabetical order, followed by either a `DragGestureListener`, or `null`.
        Throws:
          `IOException`
        Since:
          1.4

    - ### Serialized Fields

      - #### component

            Component component

        The `Component` associated with this `DragGestureRecognizer`.

      - #### dragSource

            DragSource dragSource

        The `DragSource` associated with this `DragGestureRecognizer`.

      - #### events

            ArrayList<E> events

        The list of events (in order) that the `DragGestureRecognizer` "recognized" as a "gesture" that triggers a drag.

      - #### sourceActions

            int sourceActions

        An `int` representing the type(s) of action(s) used in this Drag and Drop operation.

  - ### Class java.awt.dnd.DragSource extends Object implements Serializable

    serialVersionUID:
      6236096958971414066L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Deserializes this `DragSource`. This method first performs default deserialization. Next, this object's `FlavorMap` is deserialized by using the next object in the stream. If the resulting `FlavorMap` is `null`, this object's `FlavorMap` is set to the default FlavorMap for this thread's `ClassLoader`. Next, this object's listeners are deserialized by reading a `null`-terminated sequence of 0 or more key/value pairs from the stream:
        - If a key object is a `String` equal to `dragSourceListenerK`, a `DragSourceListener` is deserialized using the corresponding value object and added to this `DragSource`.
        - If a key object is a `String` equal to `dragSourceMotionListenerK`, a `DragSourceMotionListener` is deserialized using the corresponding value object and added to this `DragSource`.
        - Otherwise, the key/value pair is skipped.
        Throws:
          `ClassNotFoundException`
          `IOException`
        Since:
          1.4
        See Also:
          `SystemFlavorMap.getDefaultFlavorMap()`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Serializes this `DragSource`. This method first performs default serialization. Next, it writes out this object's `FlavorMap` if and only if it can be serialized. If not, `null` is written instead. Next, it writes out `Serializable` listeners registered with this object. Listeners are written in a `null`-terminated sequence of 0 or more pairs. The pair consists of a `String` and an `Object`; the `String` indicates the type of the `Object` and is one of the following:
        - `dragSourceListenerK` indicating a `DragSourceListener` object;
        - `dragSourceMotionListenerK` indicating a `DragSourceMotionListener` object.
        Serial Data:
          Either a `FlavorMap` instance, or `null`, followed by a `null`-terminated sequence of 0 or more pairs; the pair consists of a `String` and an `Object`; the `String` indicates the type of the `Object` and is one of the following:
          - `dragSourceListenerK` indicating a `DragSourceListener` object;
          - `dragSourceMotionListenerK` indicating a `DragSourceMotionListener` object.
          .
        Throws:
          `IOException`
        Since:
          1.4

  - ### Class java.awt.dnd.DragSourceContext extends Object implements Serializable

    serialVersionUID:
      -115407898692194719L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Deserializes this `DragSourceContext`. This method first performs default deserialization for all non-`transient` fields. This object's `Transferable` and `DragSourceListener` are then deserialized as well by using the next two objects in the stream. If the resulting `Transferable` is `null`, this object's `Transferable` is set to a dummy `Transferable` which supports no `DataFlavor`s.
        Throws:
          `ClassNotFoundException`
          `IOException`
        Since:
          1.4

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Serializes this `DragSourceContext`. This method first performs default serialization. Next, this object's `Transferable` is written out if and only if it can be serialized. If not, `null` is written instead. In this case, a `DragSourceContext` created from the resulting deserialized stream will contain a dummy `Transferable` which supports no `DataFlavor`s. Finally, this object's `DragSourceListener` is written out if and only if it can be serialized. If not, `null` is written instead.
        Serial Data:
          The default serializable fields, in alphabetical order, followed by either a `Transferable` instance, or `null`, followed by either a `DragSourceListener` instance, or `null`.
        Throws:
          `IOException`
        Since:
          1.4

    - ### Serialized Fields

      - #### cursor

            Cursor cursor

        The current drag cursor.

      - #### sourceActions

            int sourceActions

        A bitwise mask of `DnDConstants` that represents the set of drop actions supported by the drag source for the drag operation associated with this `DragSourceContext.`

      - #### trigger

            DragGestureEvent trigger

        The event which triggered the start of the drag.

      - #### useCustomCursor

            boolean useCustomCursor

        `true` if the custom drag cursor is used instead of the default one.

  - ### Class java.awt.dnd.DragSourceDragEvent extends DragSourceEvent implements Serializable

    serialVersionUID:
      481346297933902471L

    - ### Serialized Fields

      - #### dropAction

            int dropAction

        The user drop action.

      - #### gestureModifiers

            int gestureModifiers

        The state of the input device modifiers associated with the user gesture.

      - #### invalidModifiers

            boolean invalidModifiers

        Indicates whether the `gestureModifiers` are invalid.

      - #### targetActions

            int targetActions

        The target drop action.

  - ### Class java.awt.dnd.DragSourceDropEvent extends DragSourceEvent implements Serializable

    serialVersionUID:
      -5571321229470821891L

    - ### Serialized Fields

      - #### dropAction

            int dropAction

        The drop action.

      - #### dropSuccess

            boolean dropSuccess

        `true` if the drop was successful.

  - ### Class java.awt.dnd.DragSourceEvent extends EventObject implements Serializable

    serialVersionUID:
      -763287114604032641L

    - ### Serialized Fields

      - #### locationSpecified

            boolean locationSpecified

        The `boolean` indicating whether the cursor location is specified for this event.

      - #### x

            int x

        The horizontal coordinate for the cursor location at the moment this event occurred if the cursor location is specified for this event; otherwise zero.

      - #### y

            int y

        The vertical coordinate for the cursor location at the moment this event occurred if the cursor location is specified for this event; otherwise zero.

  - ### Class java.awt.dnd.DropTarget extends Object implements Serializable

    serialVersionUID:
      -6283860791671019047L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Deserializes this `DropTarget`. This method first performs default deserialization for all non-`transient` fields. An attempt is then made to deserialize this object's `DropTargetListener` as well. This is first attempted by deserializing the field `dtListener`, because, in releases prior to 1.4, a non-`transient` field of this name stored the `DropTargetListener`. If this fails, the next object in the stream is used instead.
        Throws:
          `ClassNotFoundException`
          `IOException`
        Since:
          1.4

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Serializes this `DropTarget`. Performs default serialization, and then writes out this object's `DropTargetListener` if and only if it can be serialized. If not, `null` is written instead.
        Serial Data:
          The default serializable fields, in alphabetical order, followed by either a `DropTargetListener` instance, or `null`.
        Throws:
          `IOException`
        Since:
          1.4

    - ### Serialized Fields

      - #### actions

            int actions

        Default permissible actions supported by this DropTarget.
        See Also:
          `DropTarget.setDefaultActions(int)`, `DropTarget.getDefaultActions()`

      - #### active

            boolean active

        `true` if the DropTarget is accepting Drag & Drop operations.

      - #### component

            Component component

        The Component associated with this DropTarget.

      - #### dropTargetContext

            DropTargetContext dropTargetContext

        The DropTargetContext associated with this DropTarget.

  - ### Class java.awt.dnd.DropTargetContext extends Object implements Serializable

    serialVersionUID:
      -634158968993743371L

    - ### Serialized Fields

      - #### dropTarget

            DropTarget dropTarget

        The DropTarget associated with this DropTargetContext.

  - ### Class java.awt.dnd.DropTargetDragEvent extends DropTargetEvent implements Serializable

    serialVersionUID:
      -8422265619058953682L

    - ### Serialized Fields

      - #### actions

            int actions

        The source drop actions.

      - #### dropAction

            int dropAction

        The user drop action.

      - #### location

            Point location

        The location of the drag cursor's hotspot in Component coordinates.

  - ### Class java.awt.dnd.DropTargetDropEvent extends DropTargetEvent implements Serializable

    serialVersionUID:
      -1721911170440459322L

    - ### Serialized Fields

      - #### actions

            int actions

        The source drop actions.

      - #### dropAction

            int dropAction

        The user drop action.

      - #### isLocalTx

            boolean isLocalTx

        `true` if the source is in the same JVM as the target.

      - #### location

            Point location

        The location of the drag cursor's hotspot in Component coordinates.

  - ### Class java.awt.dnd.DropTargetEvent extends EventObject implements Serializable

    serialVersionUID:
      2821229066521922993L

    - ### Serialized Fields

      - #### context

            DropTargetContext context

        The `DropTargetContext` associated with this `DropTargetEvent`.

  - ### Class java.awt.dnd.InvalidDnDOperationException extends IllegalStateException implements Serializable

    serialVersionUID:
      -6062568741193956678L

  - ### Class java.awt.dnd.MouseDragGestureRecognizer extends DragGestureRecognizer implements Serializable

    serialVersionUID:
      6220099344182281120L

- ## Package java.awt.event

  - ### Class java.awt.event.ActionEvent extends AWTEvent implements Serializable

    serialVersionUID:
      -7671078796273832149L

    - ### Serialized Fields

      - #### actionCommand

            String actionCommand

        The nonlocalized string that gives more details of what actually caused the event. This information is very specific to the component that fired it.
        See Also:
          `ActionEvent.getActionCommand()`

      - #### modifiers

            int modifiers

        This represents the key modifier that was selected, and is used to determine the state of the selected key. If no modifier has been selected it will default to zero.
        See Also:
          `ActionEvent.getModifiers()`

      - #### when

            long when

        Timestamp of when this event occurred. Because an ActionEvent is a high- level, semantic event, the timestamp is typically the same as an underlying InputEvent.
        See Also:
          `ActionEvent.getWhen()`

  - ### Class java.awt.event.AdjustmentEvent extends AWTEvent implements Serializable

    serialVersionUID:
      5700290645205279921L

    - ### Serialized Fields

      - #### adjustable

            Adjustable adjustable

        The adjustable object that fired the event.
        See Also:
          `AdjustmentEvent.getAdjustable()`

      - #### adjustmentType

            int adjustmentType

        The `adjustmentType` describes how the adjustable object value has changed. This value can be increased/decreased by a block or unit amount where the block is associated with page increments/decrements, and a unit is associated with line increments/decrements.
        See Also:
          `AdjustmentEvent.getAdjustmentType()`

      - #### isAdjusting

            boolean isAdjusting

        The `isAdjusting` is true if the event is one of the series of multiple adjustment events.
        Since:
          1.4
        See Also:
          `AdjustmentEvent.getValueIsAdjusting()`

      - #### value

            int value

        `value` will contain the new value of the adjustable object. This value will always be in a range associated adjustable object.
        See Also:
          `AdjustmentEvent.getValue()`

  - ### Class java.awt.event.ComponentEvent extends AWTEvent implements Serializable

    serialVersionUID:
      8101406823902992965L

  - ### Class java.awt.event.ContainerEvent extends ComponentEvent implements Serializable

    serialVersionUID:
      -4114942250539772041L

    - ### Serialized Fields

      - #### child

            Component child

        The non-null component that is being added or removed from the Container.
        See Also:
          `ContainerEvent.getChild()`

  - ### Class java.awt.event.FocusEvent extends ComponentEvent implements Serializable

    serialVersionUID:
      523753786457416396L

    - ### Serialization Methods

      - #### readResolve

            Object readResolve​()
                        throws ObjectStreamException

        Checks if this deserialized `FocusEvent` instance is compatible with the current specification which implies that focus event has non-null `cause` value. If the check fails a new `FocusEvent` instance is returned which `cause` field equals to `FocusEvent.Cause.UNKNOWN` and its other fields have the same values as in this `FocusEvent` instance.
        Throws:
          `ObjectStreamException`
        Since:
          9
        See Also:
          `FocusEvent.cause`

    - ### Serialized Fields

      - #### cause

            FocusEvent.Cause cause

        A focus event has the reason why this event was generated. The cause is set during the focus event creation.
        Since:
          9
        See Also:
          `FocusEvent.getCause()`

      - #### temporary

            boolean temporary

        A focus event can have two different levels, permanent and temporary. It will be set to true if some operation takes away the focus temporarily and intends on getting it back once the event is completed. Otherwise it will be set to false.
        See Also:
          `FocusEvent.isTemporary()`

  - ### Class java.awt.event.HierarchyEvent extends AWTEvent implements Serializable

    serialVersionUID:
      -5337576970038043990L

    - ### Serialized Fields

      - #### changed

            Component changed

      - #### changedParent

            Container changedParent

      - #### changeFlags

            long changeFlags

  - ### Class java.awt.event.InputEvent extends ComponentEvent implements Serializable

    serialVersionUID:
      -2482525981698309786L

    - ### Serialized Fields

      - #### modifiers

            int modifiers

        The state of the modifier mask at the time the input event was fired.
        See Also:
          `InputEvent.getModifiers()`, `InputEvent.getModifiersEx()`, `KeyEvent`, `MouseEvent`

      - #### when

            long when

        The input event's Time stamp in UTC format. The time stamp indicates when the input event was created.
        See Also:
          `InputEvent.getWhen()`

  - ### Class java.awt.event.InputMethodEvent extends AWTEvent implements Serializable

    serialVersionUID:
      4727190874778922661L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Initializes the `when` field if it is not present in the object input stream. In that case, the field will be initialized by invoking `EventQueue.getMostRecentEventTime()`.
        Throws:
          `ClassNotFoundException`
          `IOException`

    - ### Serialized Fields

      - #### when

            long when

        The time stamp that indicates when the event was created.
        Since:
          1.4
        See Also:
          `InputMethodEvent.getWhen()`

  - ### Class java.awt.event.InvocationEvent extends AWTEvent implements Serializable

    serialVersionUID:
      436056344909459450L

    - ### Serialized Fields

      - #### catchExceptions

            boolean catchExceptions

        Set to true if dispatch() catches Throwable and stores it in the exception instance variable. If false, Throwables are propagated up to the EventDispatchThread's dispatch loop.

      - #### dispatched

            boolean dispatched

        Indicates whether the `run()` method of the `runnable` was executed or not.
        Since:
          1.7
        See Also:
          `InvocationEvent.isDispatched()`

      - #### exception

            Exception exception

        The (potentially null) Exception thrown during execution of the Runnable.run() method. This variable will also be null if a particular instance does not catch exceptions.

      - #### listener

            Runnable listener

        The (potentially null) Runnable whose run() method will be called immediately after the event was dispatched or disposed.
        Since:
          1.8
        See Also:
          `InvocationEvent.isDispatched()`

      - #### notifier

            Object notifier

        The (potentially null) Object whose notifyAll() method will be called immediately after the Runnable.run() method has returned or thrown an exception or after the event was disposed.
        See Also:
          `InvocationEvent.isDispatched()`

      - #### runnable

            Runnable runnable

        The Runnable whose run() method will be called.

      - #### throwable

            Throwable throwable

        The (potentially null) Throwable thrown during execution of the Runnable.run() method. This variable will also be null if a particular instance does not catch exceptions.

      - #### when

            long when

        The timestamp of when this event occurred.
        See Also:
          `InvocationEvent.getWhen()`

  - ### Class java.awt.event.ItemEvent extends AWTEvent implements Serializable

    serialVersionUID:
      -608708132447206933L

    - ### Serialized Fields

      - #### item

            Object item

        The item whose selection state has changed.
        See Also:
          `ItemEvent.getItem()`

      - #### stateChange

            int stateChange

        `stateChange` indicates whether the `item` was selected or deselected.
        See Also:
          `ItemEvent.getStateChange()`

  - ### Class java.awt.event.KeyEvent extends InputEvent implements Serializable

    serialVersionUID:
      -2352130953028126954L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Sets new modifiers by the old ones. The key modifiers override overlapping mouse modifiers.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### isProxyActive

            boolean isProxyActive

        Stores the state of native event dispatching system - true, if when the event was created event proxying mechanism was active - false, if it was inactive Used in Component.dispatchEventImpl to correctly dispatch events when proxy is active

      - #### keyChar

            char keyChar

        `keyChar` is a valid unicode character that is fired by a key or a key combination on a keyboard.
        See Also:
          `KeyEvent.getKeyChar()`, `KeyEvent.setKeyChar(char)`

      - #### keyCode

            int keyCode

        The unique value assigned to each of the keys on the keyboard. There is a common set of key codes that can be fired by most keyboards. The symbolic name for a key code should be used rather than the code value itself.
        See Also:
          `KeyEvent.getKeyCode()`, `KeyEvent.setKeyCode(int)`

      - #### keyLocation

            int keyLocation

        The location of the key on the keyboard. Some keys occur more than once on a keyboard, e.g. the left and right shift keys. Additionally, some keys occur on the numeric keypad. This variable is used to distinguish such keys. The only legal values are `KEY_LOCATION_UNKNOWN`, `KEY_LOCATION_STANDARD`, `KEY_LOCATION_LEFT`, `KEY_LOCATION_RIGHT`, and `KEY_LOCATION_NUMPAD`.
        See Also:
          `KeyEvent.getKeyLocation()`

      - #### originalSource

            Component originalSource

        The original event source. Event source can be changed during processing, but in some cases we need to be able to obtain original source.
        Since:
          1.8

  - ### Class java.awt.event.MouseEvent extends InputEvent implements Serializable

    serialVersionUID:
      -991214153494842848L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Sets new modifiers by the old ones.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### button

            int button

        Indicates which, if any, of the mouse buttons has changed state. The valid values are ranged from 0 to the value returned by the `MouseInfo.getNumberOfButtons()` method. This range already includes constants `NOBUTTON`, `BUTTON1`, `BUTTON2`, and `BUTTON3` if these buttons are present. So it is allowed to use these constants too. For example, for a mouse with two buttons this field may contain the following values:
        - 0 (`NOBUTTON`)
        - 1 (`BUTTON1`)
        - 2 (`BUTTON2`)
        If a mouse has 5 buttons, this field may contain the following values:
        - 0 (`NOBUTTON`)
        - 1 (`BUTTON1`)
        - 2 (`BUTTON2`)
        - 3 (`BUTTON3`)
        - 4
        - 5
        If support for extended mouse buttons is `Toolkit.areExtraMouseButtonsEnabled()` disabled by Java then the field may not contain the value larger than `BUTTON3`.
        See Also:
          `MouseEvent.getButton()`, `Toolkit.areExtraMouseButtonsEnabled()`

      - #### clickCount

            int clickCount

        Indicates the number of quick consecutive clicks of a mouse button. clickCount will be valid for only three mouse events :
        `MOUSE_CLICKED`, `MOUSE_PRESSED` and `MOUSE_RELEASED`. For the above, the `clickCount` will be at least 1. For all other events the count will be 0.
        See Also:
          `MouseEvent.getClickCount()`

      - #### popupTrigger

            boolean popupTrigger

        A property used to indicate whether a Popup Menu should appear with a certain gestures. If `popupTrigger` = `false`, no popup menu should appear. If it is `true` then a popup menu should appear.
        See Also:
          `PopupMenu`, `MouseEvent.isPopupTrigger()`

      - #### x

            int x

        The mouse event's x coordinate. The x value is relative to the component that fired the event.
        See Also:
          `MouseEvent.getX()`

      - #### xAbs

            int xAbs

        The mouse event's x absolute coordinate. In a virtual device multi-screen environment in which the desktop area could span multiple physical screen devices, this coordinate is relative to the virtual coordinate system. Otherwise, this coordinate is relative to the coordinate system associated with the Component's GraphicsConfiguration.

      - #### y

            int y

        The mouse event's y coordinate. The y value is relative to the component that fired the event.
        See Also:
          `MouseEvent.getY()`

      - #### yAbs

            int yAbs

        The mouse event's y absolute coordinate. In a virtual device multi-screen environment in which the desktop area could span multiple physical screen devices, this coordinate is relative to the virtual coordinate system. Otherwise, this coordinate is relative to the coordinate system associated with the Component's GraphicsConfiguration.

  - ### Class java.awt.event.MouseWheelEvent extends MouseEvent implements Serializable

    serialVersionUID:
      6459879390515399677L

    - ### Serialized Fields

      - #### preciseWheelRotation

            double preciseWheelRotation

        Indicates how far the mouse wheel was rotated.
        See Also:
          `MouseWheelEvent.getPreciseWheelRotation()`

      - #### scrollAmount

            int scrollAmount

        Only valid for scrollType WHEEL_UNIT_SCROLL. Indicates number of units that should be scrolled per click of mouse wheel rotation, based on platform settings.
        See Also:
          `MouseWheelEvent.getScrollAmount()`, `MouseWheelEvent.getScrollType()`

      - #### scrollType

            int scrollType

        Indicates what sort of scrolling should take place in response to this event, based on platform settings. Legal values are:
        - WHEEL_UNIT_SCROLL
        - WHEEL_BLOCK_SCROLL
        See Also:
          `MouseWheelEvent.getScrollType()`

      - #### wheelRotation

            int wheelRotation

        Indicates how far the mouse wheel was rotated.
        See Also:
          `MouseWheelEvent.getWheelRotation()`

  - ### Class java.awt.event.PaintEvent extends ComponentEvent implements Serializable

    serialVersionUID:
      1267492026433337593L

    - ### Serialized Fields

      - #### updateRect

            Rectangle updateRect

        This is the rectangle that represents the area on the source component that requires a repaint. This rectangle should be non null.
        See Also:
          `Rectangle`, `PaintEvent.setUpdateRect(Rectangle)`, `PaintEvent.getUpdateRect()`

  - ### Class java.awt.event.TextEvent extends AWTEvent implements Serializable

    serialVersionUID:
      6269902291250941179L

  - ### Class java.awt.event.WindowEvent extends ComponentEvent implements Serializable

    serialVersionUID:
      -1567959133147912127L

    - ### Serialized Fields

      - #### newState

            int newState

      - #### oldState

            int oldState

        TBS

- ## Package java.awt.font

  - ### Class java.awt.font.NumericShaper extends Object implements Serializable

    serialVersionUID:
      -8022764705923730308L

    - ### Serialization Methods

      - #### writeObject

            private void writeObject​(ObjectOutputStream stream)
                              throws IOException

        Converts the `NumericShaper.Range` enum-based parameters, if any, to the bit mask-based counterparts and writes this object to the `stream`. Any enum constants that have no bit mask-based counterparts are ignored in the conversion.
        Throws:
          `IOException` - if an I/O error occurs while writing to `stream`
        Since:
          1.7

    - ### Serialized Fields

      - #### key

            int key

        index of context for contextual shaping - values range from 0 to 18

      - #### mask

            int mask

        flag indicating whether to shape contextually (high bit) and which digit ranges to shape (bits 0-18)

      - #### shapingRange

            NumericShaper.Range shapingRange

        The context `Range` for contextual shaping or the `Range` for non-contextual shaping. `null` for the bit mask-based API.
        Since:
          1.7

  - ### Class java.awt.font.TextAttribute extends AttributedCharacterIterator.Attribute implements Serializable

    serialVersionUID:
      7744112784117861702L

    - ### Serialization Methods

      - #### readResolve

            protected Object readResolve​()
                                  throws InvalidObjectException

        Resolves instances being deserialized to the predefined constants.
        Throws:
          `InvalidObjectException` - if the object to resolve is not an instance of `Attribute`

  - ### Class java.awt.font.TransformAttribute extends Object implements Serializable

    serialVersionUID:
      3356247357827709530L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()
                                throws ObjectStreamException

        Throws:
          `ObjectStreamException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws ClassNotFoundException,
                                     IOException

        Throws:
          `ClassNotFoundException`
          `IOException`

    - ### Serialized Fields

      - #### transform

            AffineTransform transform

        The `AffineTransform` for this `TransformAttribute`, or `null` if `AffineTransform` is the identity transform.

- ## Package java.awt.geom

  - ### Class java.awt.geom.AffineTransform extends Object implements Serializable

    serialVersionUID:
      1330973210523860834L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Throws:
          `ClassNotFoundException`
          `IOException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws ClassNotFoundException,
                                     IOException

        Throws:
          `ClassNotFoundException`
          `IOException`

    - ### Serialized Fields

      - #### m00

            double m00

        The X coordinate scaling element of the 3x3 affine transformation matrix.

      - #### m01

            double m01

        The X coordinate shearing element of the 3x3 affine transformation matrix.

      - #### m02

            double m02

        The X coordinate of the translation element of the 3x3 affine transformation matrix.

      - #### m10

            double m10

        The Y coordinate shearing element of the 3x3 affine transformation matrix.

      - #### m11

            double m11

        The Y coordinate scaling element of the 3x3 affine transformation matrix.

      - #### m12

            double m12

        The Y coordinate of the translation element of the 3x3 affine transformation matrix.

  - ### Class java.awt.geom.Arc2D.Double extends Arc2D implements Serializable

    serialVersionUID:
      728264085846882001L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Reads the default serializable fields from the `ObjectInputStream` followed by a byte indicating the arc type of this `Arc2D` instance.
        Serial Data:
          1. The default serializable fields.
          2. followed by a `byte` indicating the arc type `Arc2D.OPEN`, `Arc2D.CHORD`, or `Arc2D.PIE`.
        Throws:
          `ClassNotFoundException`
          `IOException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes the default serializable fields to the `ObjectOutputStream` followed by a byte indicating the arc type of this `Arc2D` instance.
        Serial Data:
          1. The default serializable fields.
          2. followed by a `byte` indicating the arc type `Arc2D.OPEN`, `Arc2D.CHORD`, or `Arc2D.PIE`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### extent

            double extent

        The angular extent of the arc in degrees.
        Since:
          1.2

      - #### height

            double height

        The overall height of the full ellipse of which this arc is a partial section (not considering the angular extents).
        Since:
          1.2

      - #### start

            double start

        The starting angle of the arc in degrees.
        Since:
          1.2

      - #### width

            double width

        The overall width of the full ellipse of which this arc is a partial section (not considering the angular extents).
        Since:
          1.2

      - #### x

            double x

        The X coordinate of the upper-left corner of the framing rectangle of the arc.
        Since:
          1.2

      - #### y

            double y

        The Y coordinate of the upper-left corner of the framing rectangle of the arc.
        Since:
          1.2

  - ### Class java.awt.geom.Arc2D.Float extends Arc2D implements Serializable

    serialVersionUID:
      9130893014586380278L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Reads the default serializable fields from the `ObjectInputStream` followed by a byte indicating the arc type of this `Arc2D` instance.
        Serial Data:
          1. The default serializable fields.
          2. followed by a `byte` indicating the arc type `Arc2D.OPEN`, `Arc2D.CHORD`, or `Arc2D.PIE`.
        Throws:
          `ClassNotFoundException`
          `IOException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes the default serializable fields to the `ObjectOutputStream` followed by a byte indicating the arc type of this `Arc2D` instance.
        Serial Data:
          1. The default serializable fields.
          2. followed by a `byte` indicating the arc type `Arc2D.OPEN`, `Arc2D.CHORD`, or `Arc2D.PIE`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### extent

            float extent

        The angular extent of the arc in degrees.
        Since:
          1.2

      - #### height

            float height

        The overall height of the full ellipse of which this arc is a partial section (not considering the angular extents).
        Since:
          1.2

      - #### start

            float start

        The starting angle of the arc in degrees.
        Since:
          1.2

      - #### width

            float width

        The overall width of the full ellipse of which this arc is a partial section (not considering the angular extents).
        Since:
          1.2

      - #### x

            float x

        The X coordinate of the upper-left corner of the framing rectangle of the arc.
        Since:
          1.2

      - #### y

            float y

        The Y coordinate of the upper-left corner of the framing rectangle of the arc.
        Since:
          1.2

  - ### Class java.awt.geom.CubicCurve2D.Double extends CubicCurve2D implements Serializable

    serialVersionUID:
      -4202960122839707295L

    - ### Serialized Fields

      - #### ctrlx1

            double ctrlx1

        The X coordinate of the first control point of the cubic curve segment.
        Since:
          1.2

      - #### ctrlx2

            double ctrlx2

        The X coordinate of the second control point of the cubic curve segment.
        Since:
          1.2

      - #### ctrly1

            double ctrly1

        The Y coordinate of the first control point of the cubic curve segment.
        Since:
          1.2

      - #### ctrly2

            double ctrly2

        The Y coordinate of the second control point of the cubic curve segment.
        Since:
          1.2

      - #### x1

            double x1

        The X coordinate of the start point of the cubic curve segment.
        Since:
          1.2

      - #### x2

            double x2

        The X coordinate of the end point of the cubic curve segment.
        Since:
          1.2

      - #### y1

            double y1

        The Y coordinate of the start point of the cubic curve segment.
        Since:
          1.2

      - #### y2

            double y2

        The Y coordinate of the end point of the cubic curve segment.
        Since:
          1.2

  - ### Class java.awt.geom.CubicCurve2D.Float extends CubicCurve2D implements Serializable

    serialVersionUID:
      -1272015596714244385L

    - ### Serialized Fields

      - #### ctrlx1

            float ctrlx1

        The X coordinate of the first control point of the cubic curve segment.
        Since:
          1.2

      - #### ctrlx2

            float ctrlx2

        The X coordinate of the second control point of the cubic curve segment.
        Since:
          1.2

      - #### ctrly1

            float ctrly1

        The Y coordinate of the first control point of the cubic curve segment.
        Since:
          1.2

      - #### ctrly2

            float ctrly2

        The Y coordinate of the second control point of the cubic curve segment.
        Since:
          1.2

      - #### x1

            float x1

        The X coordinate of the start point of the cubic curve segment.
        Since:
          1.2

      - #### x2

            float x2

        The X coordinate of the end point of the cubic curve segment.
        Since:
          1.2

      - #### y1

            float y1

        The Y coordinate of the start point of the cubic curve segment.
        Since:
          1.2

      - #### y2

            float y2

        The Y coordinate of the end point of the cubic curve segment.
        Since:
          1.2

  - ### Class java.awt.geom.Ellipse2D.Double extends Ellipse2D implements Serializable

    serialVersionUID:
      5555464816372320683L

    - ### Serialized Fields

      - #### height

            double height

        The overall height of the `Ellipse2D`.
        Since:
          1.2

      - #### width

            double width

        The overall width of this `Ellipse2D`.
        Since:
          1.2

      - #### x

            double x

        The X coordinate of the upper-left corner of the framing rectangle of this `Ellipse2D`.
        Since:
          1.2

      - #### y

            double y

        The Y coordinate of the upper-left corner of the framing rectangle of this `Ellipse2D`.
        Since:
          1.2

  - ### Class java.awt.geom.Ellipse2D.Float extends Ellipse2D implements Serializable

    serialVersionUID:
      -6633761252372475977L

    - ### Serialized Fields

      - #### height

            float height

        The overall height of this `Ellipse2D`.
        Since:
          1.2

      - #### width

            float width

        The overall width of this `Ellipse2D`.
        Since:
          1.2

      - #### x

            float x

        The X coordinate of the upper-left corner of the framing rectangle of this `Ellipse2D`.
        Since:
          1.2

      - #### y

            float y

        The Y coordinate of the upper-left corner of the framing rectangle of this `Ellipse2D`.
        Since:
          1.2

  - ### Class java.awt.geom.GeneralPath extends Path2D.Float implements Serializable

    serialVersionUID:
      -8327096662768731142L

  - ### Class java.awt.geom.IllegalPathStateException extends RuntimeException implements Serializable

    serialVersionUID:
      -5158084205220481094L

  - ### Class java.awt.geom.Line2D.Double extends Line2D implements Serializable

    serialVersionUID:
      7979627399746467499L

    - ### Serialized Fields

      - #### x1

            double x1

        The X coordinate of the start point of the line segment.
        Since:
          1.2

      - #### x2

            double x2

        The X coordinate of the end point of the line segment.
        Since:
          1.2

      - #### y1

            double y1

        The Y coordinate of the start point of the line segment.
        Since:
          1.2

      - #### y2

            double y2

        The Y coordinate of the end point of the line segment.
        Since:
          1.2

  - ### Class java.awt.geom.Line2D.Float extends Line2D implements Serializable

    serialVersionUID:
      6161772511649436349L

    - ### Serialized Fields

      - #### x1

            float x1

        The X coordinate of the start point of the line segment.
        Since:
          1.2

      - #### x2

            float x2

        The X coordinate of the end point of the line segment.
        Since:
          1.2

      - #### y1

            float y1

        The Y coordinate of the start point of the line segment.
        Since:
          1.2

      - #### y2

            float y2

        The Y coordinate of the end point of the line segment.
        Since:
          1.2

  - ### Class java.awt.geom.NoninvertibleTransformException extends Exception implements Serializable

    serialVersionUID:
      6137225240503990466L

  - ### Class java.awt.geom.Path2D.Double extends Path2D implements Serializable

    serialVersionUID:
      1826762518450014216L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Reads the default serializable fields from the `ObjectInputStream` followed by an explicit serialization of the path segments stored in this path.

        There are no default serializable fields as of 1.6.

        The serial data for this object is described in the writeObject method.

        Throws:
          `ClassNotFoundException`
          `IOException`
        Since:
          1.6

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes the default serializable fields to the `ObjectOutputStream` followed by an explicit serialization of the path segments stored in this path.
        Serial Data:
          1. The default serializable fields. There are no default serializable fields as of 1.6.
          2. followed by a byte indicating the storage type of the original object as a hint (SERIAL_STORAGE_DBL_ARRAY)
          3. followed by an integer indicating the number of path segments to follow (NP) or -1 to indicate an unknown number of path segments follows
          4. followed by an integer indicating the total number of coordinates to follow (NC) or -1 to indicate an unknown number of coordinates follows (NC should always be even since coordinates always appear in pairs representing an x,y pair)
          5. followed by a byte indicating the winding rule (`WIND_EVEN_ODD` or `WIND_NON_ZERO`)
          6. followed by `NP` (or unlimited if `NP < 0`) sets of values consisting of a single byte indicating a path segment type followed by one or more pairs of float or double values representing the coordinates of the path segment
          7. followed by a byte indicating the end of the path (SERIAL_PATH_END).

          The following byte value constants are used in the serialized form of `Path2D` objects:

          Constants
          Constant Name | Byte Value | Followed by | Description
          --- | --- | --- | ---
          `SERIAL_STORAGE_FLT_ARRAY` | 0x30 |  | A hint that the original `Path2D` object stored the coordinates in a Java array of floats.
          `SERIAL_STORAGE_DBL_ARRAY` | 0x31 |  | A hint that the original `Path2D` object stored the coordinates in a Java array of doubles.
          `SERIAL_SEG_FLT_MOVETO` | 0x40 | 2 floats | A `moveTo` path segment follows.
          `SERIAL_SEG_FLT_LINETO` | 0x41 | 2 floats | A `lineTo` path segment follows.
          `SERIAL_SEG_FLT_QUADTO` | 0x42 | 4 floats | A `quadTo` path segment follows.
          `SERIAL_SEG_FLT_CUBICTO` | 0x43 | 6 floats | A `curveTo` path segment follows.
          `SERIAL_SEG_DBL_MOVETO` | 0x50 | 2 doubles | A `moveTo` path segment follows.
          `SERIAL_SEG_DBL_LINETO` | 0x51 | 2 doubles | A `lineTo` path segment follows.
          `SERIAL_SEG_DBL_QUADTO` | 0x52 | 4 doubles | A `curveTo` path segment follows.
          `SERIAL_SEG_DBL_CUBICTO` | 0x53 | 6 doubles | A `curveTo` path segment follows.
          `SERIAL_SEG_CLOSE` | 0x60 |  | A `closePath` path segment.
          `SERIAL_PATH_END` | 0x61 |  | There are no more path segments following.

        Throws:
          `IOException`
        Since:
          1.6

  - ### Class java.awt.geom.Path2D.Float extends Path2D implements Serializable

    serialVersionUID:
      6990832515060788886L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Reads the default serializable fields from the `ObjectInputStream` followed by an explicit serialization of the path segments stored in this path.

        There are no default serializable fields as of 1.6.

        The serial data for this object is described in the writeObject method.

        Throws:
          `ClassNotFoundException`
          `IOException`
        Since:
          1.6

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes the default serializable fields to the `ObjectOutputStream` followed by an explicit serialization of the path segments stored in this path.
        Serial Data:
          1. The default serializable fields. There are no default serializable fields as of 1.6.
          2. followed by a byte indicating the storage type of the original object as a hint (SERIAL_STORAGE_FLT_ARRAY)
          3. followed by an integer indicating the number of path segments to follow (NP) or -1 to indicate an unknown number of path segments follows
          4. followed by an integer indicating the total number of coordinates to follow (NC) or -1 to indicate an unknown number of coordinates follows (NC should always be even since coordinates always appear in pairs representing an x,y pair)
          5. followed by a byte indicating the winding rule (`WIND_EVEN_ODD` or `WIND_NON_ZERO`)
          6. followed by `NP` (or unlimited if `NP < 0`) sets of values consisting of a single byte indicating a path segment type followed by one or more pairs of float or double values representing the coordinates of the path segment
          7. followed by a byte indicating the end of the path (SERIAL_PATH_END).

          The following byte value constants are used in the serialized form of `Path2D` objects:

          Constants
          Constant Name | Byte Value | Followed by | Description
          --- | --- | --- | ---
          `SERIAL_STORAGE_FLT_ARRAY` | 0x30 |  | A hint that the original `Path2D` object stored the coordinates in a Java array of floats.
          `SERIAL_STORAGE_DBL_ARRAY` | 0x31 |  | A hint that the original `Path2D` object stored the coordinates in a Java array of doubles.
          `SERIAL_SEG_FLT_MOVETO` | 0x40 | 2 floats | A `moveTo` path segment follows.
          `SERIAL_SEG_FLT_LINETO` | 0x41 | 2 floats | A `lineTo` path segment follows.
          `SERIAL_SEG_FLT_QUADTO` | 0x42 | 4 floats | A `quadTo` path segment follows.
          `SERIAL_SEG_FLT_CUBICTO` | 0x43 | 6 floats | A `curveTo` path segment follows.
          `SERIAL_SEG_DBL_MOVETO` | 0x50 | 2 doubles | A `moveTo` path segment follows.
          `SERIAL_SEG_DBL_LINETO` | 0x51 | 2 doubles | A `lineTo` path segment follows.
          `SERIAL_SEG_DBL_QUADTO` | 0x52 | 4 doubles | A `curveTo` path segment follows.
          `SERIAL_SEG_DBL_CUBICTO` | 0x53 | 6 doubles | A `curveTo` path segment follows.
          `SERIAL_SEG_CLOSE` | 0x60 |  | A `closePath` path segment.
          `SERIAL_PATH_END` | 0x61 |  | There are no more path segments following.

        Throws:
          `IOException`
        Since:
          1.6

  - ### Class java.awt.geom.Point2D.Double extends Point2D implements Serializable

    serialVersionUID:
      6150783262733311327L

    - ### Serialized Fields

      - #### x

            double x

        The X coordinate of this `Point2D`.
        Since:
          1.2

      - #### y

            double y

        The Y coordinate of this `Point2D`.
        Since:
          1.2

  - ### Class java.awt.geom.Point2D.Float extends Point2D implements Serializable

    serialVersionUID:
      -2870572449815403710L

    - ### Serialized Fields

      - #### x

            float x

        The X coordinate of this `Point2D`.
        Since:
          1.2

      - #### y

            float y

        The Y coordinate of this `Point2D`.
        Since:
          1.2

  - ### Class java.awt.geom.QuadCurve2D.Double extends QuadCurve2D implements Serializable

    serialVersionUID:
      4217149928428559721L

    - ### Serialized Fields

      - #### ctrlx

            double ctrlx

        The X coordinate of the control point of the quadratic curve segment.
        Since:
          1.2

      - #### ctrly

            double ctrly

        The Y coordinate of the control point of the quadratic curve segment.
        Since:
          1.2

      - #### x1

            double x1

        The X coordinate of the start point of the quadratic curve segment.
        Since:
          1.2

      - #### x2

            double x2

        The X coordinate of the end point of the quadratic curve segment.
        Since:
          1.2

      - #### y1

            double y1

        The Y coordinate of the start point of the quadratic curve segment.
        Since:
          1.2

      - #### y2

            double y2

        The Y coordinate of the end point of the quadratic curve segment.
        Since:
          1.2

  - ### Class java.awt.geom.QuadCurve2D.Float extends QuadCurve2D implements Serializable

    serialVersionUID:
      -8511188402130719609L

    - ### Serialized Fields

      - #### ctrlx

            float ctrlx

        The X coordinate of the control point of the quadratic curve segment.
        Since:
          1.2

      - #### ctrly

            float ctrly

        The Y coordinate of the control point of the quadratic curve segment.
        Since:
          1.2

      - #### x1

            float x1

        The X coordinate of the start point of the quadratic curve segment.
        Since:
          1.2

      - #### x2

            float x2

        The X coordinate of the end point of the quadratic curve segment.
        Since:
          1.2

      - #### y1

            float y1

        The Y coordinate of the start point of the quadratic curve segment.
        Since:
          1.2

      - #### y2

            float y2

        The Y coordinate of the end point of the quadratic curve segment.
        Since:
          1.2

  - ### Class java.awt.geom.Rectangle2D.Double extends Rectangle2D implements Serializable

    serialVersionUID:
      7771313791441850493L

    - ### Serialized Fields

      - #### height

            double height

        The height of this `Rectangle2D`.
        Since:
          1.2

      - #### width

            double width

        The width of this `Rectangle2D`.
        Since:
          1.2

      - #### x

            double x

        The X coordinate of this `Rectangle2D`.
        Since:
          1.2

      - #### y

            double y

        The Y coordinate of this `Rectangle2D`.
        Since:
          1.2

  - ### Class java.awt.geom.Rectangle2D.Float extends Rectangle2D implements Serializable

    serialVersionUID:
      3798716824173675777L

    - ### Serialized Fields

      - #### height

            float height

        The height of this `Rectangle2D`.
        Since:
          1.2

      - #### width

            float width

        The width of this `Rectangle2D`.
        Since:
          1.2

      - #### x

            float x

        The X coordinate of this `Rectangle2D`.
        Since:
          1.2

      - #### y

            float y

        The Y coordinate of this `Rectangle2D`.
        Since:
          1.2

  - ### Class java.awt.geom.RoundRectangle2D.Double extends RoundRectangle2D implements Serializable

    serialVersionUID:
      1048939333485206117L

    - ### Serialized Fields

      - #### archeight

            double archeight

        The height of the arc that rounds off the corners.
        Since:
          1.2

      - #### arcwidth

            double arcwidth

        The width of the arc that rounds off the corners.
        Since:
          1.2

      - #### height

            double height

        The height of this `RoundRectangle2D`.
        Since:
          1.2

      - #### width

            double width

        The width of this `RoundRectangle2D`.
        Since:
          1.2

      - #### x

            double x

        The X coordinate of this `RoundRectangle2D`.
        Since:
          1.2

      - #### y

            double y

        The Y coordinate of this `RoundRectangle2D`.
        Since:
          1.2

  - ### Class java.awt.geom.RoundRectangle2D.Float extends RoundRectangle2D implements Serializable

    serialVersionUID:
      -3423150618393866922L

    - ### Serialized Fields

      - #### archeight

            float archeight

        The height of the arc that rounds off the corners.
        Since:
          1.2

      - #### arcwidth

            float arcwidth

        The width of the arc that rounds off the corners.
        Since:
          1.2

      - #### height

            float height

        The height of this `RoundRectangle2D`.
        Since:
          1.2

      - #### width

            float width

        The width of this `RoundRectangle2D`.
        Since:
          1.2

      - #### x

            float x

        The X coordinate of this `RoundRectangle2D`.
        Since:
          1.2

      - #### y

            float y

        The Y coordinate of this `RoundRectangle2D`.
        Since:
          1.2

- ## Package java.awt.image

  - ### Class java.awt.image.ImagingOpException extends RuntimeException implements Serializable

    serialVersionUID:
      8026288481846276658L

  - ### Class java.awt.image.RasterFormatException extends RuntimeException implements Serializable

    serialVersionUID:
      96598996116164315L

- ## Package java.awt.image.renderable

  - ### Class java.awt.image.renderable.ParameterBlock extends Object implements Serializable

    serialVersionUID:
      -7577115551785240750L

    - ### Serialized Fields

      - #### parameters

            Vector<E> parameters

        A Vector of non-source parameters, stored as arbitrary Objects.

      - #### sources

            Vector<E> sources

        A Vector of sources, stored as arbitrary Objects.

- ## Package java.awt.print

  - ### Class java.awt.print.PrinterAbortException extends PrinterException implements Serializable

    serialVersionUID:
      4725169026278854136L

  - ### Class java.awt.print.PrinterException extends Exception implements Serializable

    serialVersionUID:
      -3757589981158265819L

  - ### Class java.awt.print.PrinterIOException extends PrinterException implements Serializable

    serialVersionUID:
      5850870712125932846L

    - ### Serialized Fields

      - #### mException

            IOException mException

        The IO error that terminated the print job.

- ## Package java.beans

  - ### Class java.beans.IndexedPropertyChangeEvent extends PropertyChangeEvent implements Serializable

    serialVersionUID:
      -320227448495806870L

    - ### Serialized Fields

      - #### index

            int index

  - ### Class java.beans.IntrospectionException extends Exception implements Serializable

    serialVersionUID:
      -3728150539969542619L

  - ### Class java.beans.PropertyChangeEvent extends EventObject implements Serializable

    serialVersionUID:
      7042693688939648123L

    - ### Serialized Fields

      - #### newValue

            Object newValue

        New value for property. May be null if not known.

      - #### oldValue

            Object oldValue

        Previous value for property. May be null if not known.

      - #### propagationId

            Object propagationId

        Propagation ID. May be null.
        See Also:
          `PropertyChangeEvent.getPropagationId()`

      - #### propertyName

            String propertyName

        name of the property that changed. May be null, if not known.

  - ### Class java.beans.PropertyChangeSupport extends Object implements Serializable

    serialVersionUID:
      6401253773779951803L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Throws:
          `ClassNotFoundException`
          `IOException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Serial Data:
          Null terminated list of `PropertyChangeListeners`.

          At serialization time we skip non-serializable listeners and only serialize the serializable listeners.

        Throws:
          `IOException`

    - ### Serialized Fields

      - #### children

            Hashtable<K,V> children

      - #### propertyChangeSupportSerializedDataVersion

            int propertyChangeSupportSerializedDataVersion

      - #### source

            Object source

  - ### Class java.beans.PropertyVetoException extends Exception implements Serializable

    serialVersionUID:
      129596057694162164L

    - ### Serialized Fields

      - #### evt

            PropertyChangeEvent evt

        A PropertyChangeEvent describing the vetoed change.

  - ### Class java.beans.VetoableChangeSupport extends Object implements Serializable

    serialVersionUID:
      -5090210921595982017L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Throws:
          `ClassNotFoundException`
          `IOException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Serial Data:
          Null terminated list of `VetoableChangeListeners`.

          At serialization time we skip non-serializable listeners and only serialize the serializable listeners.

        Throws:
          `IOException`

    - ### Serialized Fields

      - #### children

            Hashtable<K,V> children

      - #### source

            Object source

      - #### vetoableChangeSupportSerializedDataVersion

            int vetoableChangeSupportSerializedDataVersion

- ## Package java.beans.beancontext

  - ### Class java.beans.beancontext.BeanContextChildSupport extends Object implements Serializable

    serialVersionUID:
      6328947014421475877L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Restore a persistent object, must wait for subsequent setBeanContext() to fully restore any resources obtained from the new nesting BeanContext
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream oos)
                              throws IOException

        Write the persistence state of the object.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### beanContextChildPeer

            BeanContextChild beanContextChildPeer

        The `BeanContext` in which this `BeanContextChild` is nested.

      - #### pcSupport

            PropertyChangeSupport pcSupport

        The `PropertyChangeSupport` associated with this `BeanContextChildSupport`.

      - #### vcSupport

            VetoableChangeSupport vcSupport

        The `VetoableChangeSupport` associated with this `BeanContextChildSupport`.

  - ### Class java.beans.beancontext.BeanContextEvent extends EventObject implements Serializable

    serialVersionUID:
      7267998073569045052L

    - ### Serialized Fields

      - #### propagatedFrom

            BeanContext propagatedFrom

        The `BeanContext` from which this event was propagated

  - ### Class java.beans.beancontext.BeanContextMembershipEvent extends BeanContextEvent implements Serializable

    serialVersionUID:
      3499346510334590959L

    - ### Serialized Fields

      - #### children

            Collection<E> children

        The list of children affected by this event notification.

  - ### Class java.beans.beancontext.BeanContextServiceAvailableEvent extends BeanContextEvent implements Serializable

    serialVersionUID:
      -5333985775656400778L

    - ### Serialized Fields

      - #### serviceClass

            Class<T> serviceClass

        A `Class` reference to the newly available service

  - ### Class java.beans.beancontext.BeanContextServiceRevokedEvent extends BeanContextEvent implements Serializable

    serialVersionUID:
      -1295543154724961754L

    - ### Serialized Fields

      - #### invalidateRefs

            boolean invalidateRefs

      - #### serviceClass

            Class<T> serviceClass

        A `Class` reference to the service that is being revoked.

  - ### Class java.beans.beancontext.BeanContextServicesSupport extends BeanContextSupport implements Serializable

    serialVersionUID:
      -8494482757288719206L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        deserialize the instance
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream oos)
                              throws IOException

        serialize the instance
        Throws:
          `IOException`

  - ### Class java.beans.beancontext.BeanContextServicesSupport.BCSSChild extends BeanContextSupport.BCSChild implements Serializable

    serialVersionUID:
      -3263851306889194873L

  - ### Class java.beans.beancontext.BeanContextServicesSupport.BCSSServiceProvider extends Object implements Serializable

    serialVersionUID:
      861278251667444782L

    - ### Serialized Fields

      - #### serviceProvider

            BeanContextServiceProvider serviceProvider

        The service provider.

  - ### Class java.beans.beancontext.BeanContextSupport extends BeanContextChildSupport implements Serializable

    serialVersionUID:
      -4879613978649577204L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        deserialize contents ... if this instance has a distinct peer the children are *not* serialized here, the peer's readObject() must call readChildren() after deserializing this instance.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream oos)
                              throws IOException,
                                     ClassNotFoundException

        Serialize the BeanContextSupport, if this instance has a distinct peer (that is this object is acting as a delegate for another) then the children of this instance are not serialized here due to a 'chicken and egg' problem that occurs on deserialization of the children at the same time as this instance. Therefore in situations where there is a distinct peer to this instance it should always call writeObject() followed by writeChildren() and readObject() followed by readChildren().
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### designTime

            boolean designTime

        A `boolean` indicating whether or not this object is currently in design time mode.

      - #### locale

            Locale locale

        The current locale of this BeanContext.

      - #### okToUseGui

            boolean okToUseGui

        A `boolean` indicating if this instance may now render a GUI.

      - #### serializable

            int serializable

  - ### Class java.beans.beancontext.BeanContextSupport.BCSChild extends Object implements Serializable

    serialVersionUID:
      -5815286101609939109L

    - ### Serialized Fields

      - #### child

            Object child

      - #### proxyPeer

            Object proxyPeer

- ## Package java.io

  - ### Class java.io.CharConversionException extends IOException implements Serializable

    serialVersionUID:
      -8680016352018427031L

  - ### Class java.io.EOFException extends IOException implements Serializable

    serialVersionUID:
      6433858223774886977L

  - ### Class java.io.File extends Object implements Serializable

    serialVersionUID:
      301077366599181567L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore this filename. The original separator character is read. If it is different than the separator character on this system, then the old separator is replaced by the local separator.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        WriteObject is called to save this filename. The separator character is saved also so it can be replaced in case the path is reconstituted on a different host type.
        Serial Data:
          Default fields followed by separator character.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### path

            String path

        This abstract pathname's normalized pathname string. A normalized pathname string uses the default name-separator character and does not contain any duplicate or redundant separators.

  - ### Class java.io.FileNotFoundException extends IOException implements Serializable

    serialVersionUID:
      -897856973823710492L

  - ### Class java.io.FilePermissionCollection extends PermissionCollection implements Serializable

    serialVersionUID:
      2202956749081564585L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serial Data:
          "permissions" field (a Vector containing the FilePermissions).
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### permissions

            Vector<E> permissions

        A list of FilePermission objects.

  - ### Class java.io.InterruptedIOException extends IOException implements Serializable

    serialVersionUID:
      4020568460727500567L

    - ### Serialized Fields

      - #### bytesTransferred

            int bytesTransferred

        Reports how many bytes had been transferred as part of the I/O operation before it was interrupted.

  - ### Class java.io.InvalidClassException extends ObjectStreamException implements Serializable

    serialVersionUID:
      -4333316296251054416L

    - ### Serialized Fields

      - #### classname

            String classname

        Name of the invalid class.
        Name of the invalid class.

  - ### Class java.io.InvalidObjectException extends ObjectStreamException implements Serializable

    serialVersionUID:
      3233174318281839583L

  - ### Class java.io.IOError extends Error implements Serializable

    serialVersionUID:
      67100927991680413L

  - ### Class java.io.IOException extends Exception implements Serializable

    serialVersionUID:
      7818375828146090155L

  - ### Class java.io.NotActiveException extends ObjectStreamException implements Serializable

    serialVersionUID:
      -3893467273049808895L

  - ### Class java.io.NotSerializableException extends ObjectStreamException implements Serializable

    serialVersionUID:
      2906642554793891381L

  - ### Class java.io.ObjectStreamClass extends Object implements Serializable

    serialVersionUID:
      -6120832682080437368L

  - ### Class java.io.ObjectStreamException extends IOException implements Serializable

    serialVersionUID:
      7260898174833392607L

  - ### Class java.io.OptionalDataException extends ObjectStreamException implements Serializable

    serialVersionUID:
      -8011121865681257820L

    - ### Serialized Fields

      - #### eof

            boolean eof

        True if there is no more data in the buffered part of the stream.

      - #### length

            int length

        The number of bytes of primitive data available to be read in the current buffer.

  - ### Class java.io.SerializablePermission extends BasicPermission implements Serializable

    serialVersionUID:
      8537212141160296410L

    - ### Serialized Fields

      - #### actions

            String actions

  - ### Class java.io.StreamCorruptedException extends ObjectStreamException implements Serializable

    serialVersionUID:
      8983558202217591746L

  - ### Class java.io.SyncFailedException extends IOException implements Serializable

    serialVersionUID:
      -2353342684412443330L

  - ### Class java.io.UncheckedIOException extends RuntimeException implements Serializable

    serialVersionUID:
      -8134305061645241065L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Called to read the object from a stream.
        Throws:
          `InvalidObjectException` - if the object is invalid or has a cause that is not an `IOException`
          `IOException`
          `ClassNotFoundException`

  - ### Class java.io.UnsupportedEncodingException extends IOException implements Serializable

    serialVersionUID:
      -4274276298326136670L

  - ### Class java.io.UTFDataFormatException extends IOException implements Serializable

    serialVersionUID:
      420743449228280612L

  - ### Class java.io.WriteAbortedException extends ObjectStreamException implements Serializable

    serialVersionUID:
      -3326426625597282442L

    - ### Serialized Fields

      - #### detail

            Exception detail

        Exception that was caught while writing the ObjectStream.

        This field predates the general-purpose exception chaining facility. The `Throwable.getCause()` method is now the preferred means of obtaining this information.

- ## Package java.lang

  - ### Class java.lang.AbstractMethodError extends IncompatibleClassChangeError implements Serializable

    serialVersionUID:
      -1654391082989018462L

  - ### Class java.lang.ArithmeticException extends RuntimeException implements Serializable

    serialVersionUID:
      2256477558314496007L

  - ### Class java.lang.ArrayIndexOutOfBoundsException extends IndexOutOfBoundsException implements Serializable

    serialVersionUID:
      -5116101128118950844L

  - ### Class java.lang.ArrayStoreException extends RuntimeException implements Serializable

    serialVersionUID:
      -4522193890499838241L

  - ### Class java.lang.AssertionError extends Error implements Serializable

    serialVersionUID:
      -5013299493970297370L

  - ### Class java.lang.Boolean extends Object implements Serializable

    serialVersionUID:
      -3665804199014368530L

    - ### Serialized Fields

      - #### value

            boolean value

        The value of the Boolean.

  - ### Class java.lang.BootstrapMethodError extends LinkageError implements Serializable

    serialVersionUID:
      292L

  - ### Class java.lang.Byte extends Number implements Serializable

    serialVersionUID:
      -7183698231559129828L

    - ### Serialized Fields

      - #### value

            byte value

        The value of the `Byte`.

  - ### Class java.lang.Character extends Object implements Serializable

    serialVersionUID:
      3786198910865385080L

    - ### Serialized Fields

      - #### value

            char value

        The value of the `Character`.

  - ### Class java.lang.Class extends Object implements Serializable

    serialVersionUID:
      3206093459760846163L

    - ### Serialization Overview

      - Class Class is special cased within the Serialization Stream Protocol. A Class instance is written initially into an ObjectOutputStream in the following format:

                  TC_CLASS ClassDescriptor
                  A ClassDescriptor is a special cased serialization of
                  a java.io.ObjectStreamClass instance.

        A new handle is generated for the initial time the class descriptor is written into the stream. Future references to the class descriptor are written as references to the initial class descriptor instance.
        See Also:
          `ObjectStreamClass`

  - ### Class java.lang.ClassCastException extends RuntimeException implements Serializable

    serialVersionUID:
      -9223365651070458532L

  - ### Class java.lang.ClassCircularityError extends LinkageError implements Serializable

    serialVersionUID:
      1054362542914539689L

  - ### Class java.lang.ClassFormatError extends LinkageError implements Serializable

    serialVersionUID:
      -8420114879011949195L

  - ### Class java.lang.ClassNotFoundException extends ReflectiveOperationException implements Serializable

    serialVersionUID:
      9176873029745254542L

    - ### Serialized Fields

      - #### ex

            Throwable ex

        This field holds the exception ex if the ClassNotFoundException(String s, Throwable ex) constructor was used to instantiate the object
        Since:
          1.2

  - ### Class java.lang.CloneNotSupportedException extends Exception implements Serializable

    serialVersionUID:
      5195511250079656443L

  - ### Class java.lang.Double extends Number implements Serializable

    serialVersionUID:
      -9172774392245257468L

    - ### Serialized Fields

      - #### value

            double value

        The value of the Double.

  - ### Class java.lang.Enum extends Object implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        prevent default deserialization
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### readObjectNoData

            private void readObjectNoData​()
                                   throws ObjectStreamException

        Throws:
          `ObjectStreamException`

    - ### Serialized Fields

      - #### name

            String name

        The name of this enum constant, as declared in the enum declaration. Most programmers should use the `Enum.toString()` method rather than accessing this field.

      - #### ordinal

            int ordinal

        The ordinal of this enumeration constant (its position in the enum declaration, where the initial constant is assigned an ordinal of zero). Most programmers will have no use for this field. It is designed for use by sophisticated enum-based data structures, such as `EnumSet` and `EnumMap`.

  - ### Class java.lang.EnumConstantNotPresentException extends RuntimeException implements Serializable

    serialVersionUID:
      -6046998521960521108L

    - ### Serialized Fields

      - #### constantName

            String constantName

        The name of the missing enum constant.

      - #### enumType

            Class<T> enumType

        The type of the missing enum constant.

  - ### Class java.lang.Error extends Throwable implements Serializable

    serialVersionUID:
      4980196508277280342L

  - ### Class java.lang.Exception extends Throwable implements Serializable

    serialVersionUID:
      -3387516993124229948L

  - ### Class java.lang.ExceptionInInitializerError extends LinkageError implements Serializable

    serialVersionUID:
      1521711792217232256L

    - ### Serialized Fields

      - #### exception

            Throwable exception

        This field holds the exception if the ExceptionInInitializerError(Throwable thrown) constructor was used to instantiate the object

  - ### Class java.lang.Float extends Number implements Serializable

    serialVersionUID:
      -2671257302660747028L

    - ### Serialized Fields

      - #### value

            float value

        The value of the Float.

  - ### Class java.lang.IllegalAccessError extends IncompatibleClassChangeError implements Serializable

    serialVersionUID:
      -8988904074992417891L

  - ### Class java.lang.IllegalAccessException extends ReflectiveOperationException implements Serializable

    serialVersionUID:
      6616958222490762034L

  - ### Class java.lang.IllegalArgumentException extends RuntimeException implements Serializable

    serialVersionUID:
      -5365630128856068164L

  - ### Class java.lang.IllegalCallerException extends RuntimeException implements Serializable

    serialVersionUID:
      -2349421918363102232L

  - ### Class java.lang.IllegalMonitorStateException extends RuntimeException implements Serializable

    serialVersionUID:
      3713306369498869069L

  - ### Class java.lang.IllegalStateException extends RuntimeException implements Serializable

    serialVersionUID:
      -1848914673093119416L

  - ### Class java.lang.IllegalThreadStateException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      -7626246362397460174L

  - ### Class java.lang.IncompatibleClassChangeError extends LinkageError implements Serializable

    serialVersionUID:
      -4914975503642802119L

  - ### Class java.lang.IndexOutOfBoundsException extends RuntimeException implements Serializable

    serialVersionUID:
      234122996006267687L

  - ### Class java.lang.InstantiationError extends IncompatibleClassChangeError implements Serializable

    serialVersionUID:
      -4885810657349421204L

  - ### Class java.lang.InstantiationException extends ReflectiveOperationException implements Serializable

    serialVersionUID:
      -8441929162975509110L

  - ### Class java.lang.Integer extends Number implements Serializable

    serialVersionUID:
      1360826667806852920L

    - ### Serialized Fields

      - #### value

            int value

        The value of the `Integer`.

  - ### Class java.lang.InternalError extends VirtualMachineError implements Serializable

    serialVersionUID:
      -9062593416125562365L

  - ### Class java.lang.InterruptedException extends Exception implements Serializable

    serialVersionUID:
      6700697376100628473L

  - ### Class java.lang.LayerInstantiationException extends RuntimeException implements Serializable

    serialVersionUID:
      -906239691613568347L

  - ### Class java.lang.LinkageError extends Error implements Serializable

    serialVersionUID:
      3579600108157160122L

  - ### Class java.lang.Long extends Number implements Serializable

    serialVersionUID:
      4290774380558885855L

    - ### Serialized Fields

      - #### value

            long value

        The value of the `Long`.

  - ### Class java.lang.NegativeArraySizeException extends RuntimeException implements Serializable

    serialVersionUID:
      -8960118058596991861L

  - ### Class java.lang.NoClassDefFoundError extends LinkageError implements Serializable

    serialVersionUID:
      9095859863287012458L

  - ### Class java.lang.NoSuchFieldError extends IncompatibleClassChangeError implements Serializable

    serialVersionUID:
      -3456430195886129035L

  - ### Class java.lang.NoSuchFieldException extends ReflectiveOperationException implements Serializable

    serialVersionUID:
      -6143714805279938260L

  - ### Class java.lang.NoSuchMethodError extends IncompatibleClassChangeError implements Serializable

    serialVersionUID:
      -3765521442372831335L

  - ### Class java.lang.NoSuchMethodException extends ReflectiveOperationException implements Serializable

    serialVersionUID:
      5034388446362600923L

  - ### Class java.lang.NullPointerException extends RuntimeException implements Serializable

    serialVersionUID:
      5162710183389028792L

  - ### Class java.lang.Number extends Object implements Serializable

    serialVersionUID:
      -8742448824652078965L

  - ### Class java.lang.NumberFormatException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      -2848938806368998894L

  - ### Class java.lang.OutOfMemoryError extends VirtualMachineError implements Serializable

    serialVersionUID:
      8228564086184010517L

  - ### Class java.lang.ReflectiveOperationException extends Exception implements Serializable

    serialVersionUID:
      123456789L

  - ### Class java.lang.RuntimeException extends Exception implements Serializable

    serialVersionUID:
      -7034897190745766939L

  - ### Class java.lang.RuntimePermission extends BasicPermission implements Serializable

    serialVersionUID:
      7399184964622342223L

  - ### Class java.lang.SecurityException extends RuntimeException implements Serializable

    serialVersionUID:
      6878364983674394167L

  - ### Class java.lang.Short extends Number implements Serializable

    serialVersionUID:
      7515723908773894738L

    - ### Serialized Fields

      - #### value

            short value

        The value of the `Short`.

  - ### Class java.lang.StackOverflowError extends VirtualMachineError implements Serializable

    serialVersionUID:
      8609175038441759607L

  - ### Class java.lang.StackTraceElement extends Object implements Serializable

    serialVersionUID:
      6992337162326171013L

    - ### Serialized Fields

      - #### classLoaderName

            String classLoaderName

      - #### declaringClass

            String declaringClass

      - #### fileName

            String fileName

      - #### format

            byte format

      - #### lineNumber

            int lineNumber

      - #### methodName

            String methodName

      - #### moduleName

            String moduleName

      - #### moduleVersion

            String moduleVersion

  - ### Class java.lang.String extends Object implements Serializable

    serialVersionUID:
      -6849794470754667710L

    - ### Serialization Overview

      - Class String is special cased within the Serialization Stream Protocol. A String instance is written into an ObjectOutputStream according to Object Serialization Specification, Section 6.2, "Stream Elements"

  - ### Class java.lang.StringBuffer extends java.lang.AbstractStringBuilder implements Serializable

    serialVersionUID:
      3388685877147921107L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the StringBuffer from a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        readObject is called to restore the state of the StringBuffer from a stream.
        Throws:
          `IOException`

    - ### Serialization Overview

      - Serializable fields for StringBuffer.

    - ### Serialized Fields

      - #### count

            int count

        The number of characters in this StringBuffer.

      - #### shared

            boolean shared

        A flag indicating whether the backing array is shared. The value is ignored upon deserialization.

      - #### value

            char[] value

        The backing character array of this StringBuffer.

  - ### Class java.lang.StringBuilder extends java.lang.AbstractStringBuilder implements Serializable

    serialVersionUID:
      4383685877147921099L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the StringBuffer from a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Save the state of the `StringBuilder` instance to a stream (that is, serialize it).
        Serial Data:
          the number of characters currently stored in the string builder (`int`), followed by the characters in the string builder (`char[]`). The length of the `char` array may be greater than the number of characters currently stored in the string builder, in which case extra characters are ignored.
        Throws:
          `IOException`

  - ### Class java.lang.StringIndexOutOfBoundsException extends IndexOutOfBoundsException implements Serializable

    serialVersionUID:
      -6762910422159637258L

  - ### Class java.lang.ThreadDeath extends Error implements Serializable

    serialVersionUID:
      -4417128565033088268L

  - ### Class java.lang.Throwable extends Object implements Serializable

    serialVersionUID:
      -3042686055658047285L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reads a `Throwable` from a stream, enforcing well-formedness constraints on fields. Null entries and self-pointers are not allowed in the list of `suppressedExceptions`. Null entries are not allowed for stack trace elements. A null stack trace in the serial form results in a zero-length stack element array. A single-element stack trace whose entry is equal to `new StackTraceElement("", "", null, Integer.MIN_VALUE)` results in a `null` `stackTrace` field. Note that there are no constraints on the value the `cause` field can hold; both `null` and `this` are valid values for the field.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Write a `Throwable` object to a stream. A `null` stack trace field is represented in the serial form as a one-element array whose element is equal to `new StackTraceElement("", "", null, Integer.MIN_VALUE)`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### cause

            Throwable cause

        The throwable that caused this throwable to get thrown, or null if this throwable was not caused by another throwable, or if the causative throwable is unknown. If this field is equal to this throwable itself, it indicates that the cause of this throwable has not yet been initialized.
        Since:
          1.4

      - #### detailMessage

            String detailMessage

        Specific details about the Throwable. For example, for `FileNotFoundException`, this contains the name of the file that could not be found.

      - #### stackTrace

            StackTraceElement[] stackTrace

        The stack trace, as returned by `Throwable.getStackTrace()`. The field is initialized to a zero-length array. A `null` value of this field indicates subsequent calls to `Throwable.setStackTrace(StackTraceElement[])` and `Throwable.fillInStackTrace()` will be no-ops.
        Since:
          1.4

      - #### suppressedExceptions

            List<E> suppressedExceptions

        The list of suppressed exceptions, as returned by `Throwable.getSuppressed()`. The list is initialized to a zero-element unmodifiable sentinel list. When a serialized Throwable is read in, if the `suppressedExceptions` field points to a zero-element list, the field is reset to the sentinel value.
        Since:
          1.7

  - ### Class java.lang.TypeNotPresentException extends RuntimeException implements Serializable

    serialVersionUID:
      -5101214195716534496L

    - ### Serialized Fields

      - #### typeName

            String typeName

  - ### Class java.lang.UnknownError extends VirtualMachineError implements Serializable

    serialVersionUID:
      2524784860676771849L

  - ### Class java.lang.UnsatisfiedLinkError extends LinkageError implements Serializable

    serialVersionUID:
      -4019343241616879428L

  - ### Class java.lang.UnsupportedClassVersionError extends ClassFormatError implements Serializable

    serialVersionUID:
      -7123279212883497373L

  - ### Class java.lang.UnsupportedOperationException extends RuntimeException implements Serializable

    serialVersionUID:
      -1242599979055084673L

  - ### Class java.lang.VerifyError extends LinkageError implements Serializable

    serialVersionUID:
      7001962396098498785L

  - ### Class java.lang.VirtualMachineError extends Error implements Serializable

    serialVersionUID:
      4161983926571568670L

- ## Package java.lang.annotation

  - ### Class java.lang.annotation.AnnotationFormatError extends Error implements Serializable

    serialVersionUID:
      -4256701562333669892L

  - ### Class java.lang.annotation.AnnotationTypeMismatchException extends RuntimeException implements Serializable

    serialVersionUID:
      8125925355765570191L

    - ### Serialized Fields

      - #### foundType

            String foundType

        The (erroneous) type of data found in the annotation. This string may, but is not required to, contain the value as well. The exact format of the string is unspecified.

  - ### Class java.lang.annotation.IncompleteAnnotationException extends RuntimeException implements Serializable

    serialVersionUID:
      8445097402741811912L

    - ### Serialized Fields

      - #### annotationType

            Class<T> annotationType

      - #### elementName

            String elementName

- ## Package java.lang.instrument

  - ### Class java.lang.instrument.IllegalClassFormatException extends Exception implements Serializable

    serialVersionUID:
      -3841736710924794009L

  - ### Class java.lang.instrument.UnmodifiableClassException extends Exception implements Serializable

    serialVersionUID:
      1716652643585309178L

  - ### Class java.lang.instrument.UnmodifiableModuleException extends RuntimeException implements Serializable

    serialVersionUID:
      6912511912351080644L

- ## Package java.lang.invoke

  - ### Class java.lang.invoke.LambdaConversionException extends Exception implements Serializable

    serialVersionUID:
      300L

  - ### Class java.lang.invoke.MethodType extends Object implements Serializable

    serialVersionUID:
      292L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute the `MethodType` instance from a stream (that is, deserialize it). This instance is a scratch object with bogus final fields. It provides the parameters to the factory method called by `readResolve`. After that call it is discarded.
        Throws:
          `IOException` - if there is a problem reading the object
          `ClassNotFoundException` - if one of the component classes cannot be resolved
        See Also:
          `MethodType()`, `MethodType.readResolve()`, `MethodType.writeObject(java.io.ObjectOutputStream)`

      - #### readResolve

            private Object readResolve​()

        Resolves and initializes a `MethodType` object after serialization.

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Save the `MethodType` instance to a stream.
        Serial Data:
          For portability, the serialized format does not refer to named fields. Instead, the return type and parameter type arrays are written directly from the `writeObject` method, using two calls to `s.writeObject` as follows:

          >     s.writeObject(this.returnType());
          >     s.writeObject(this.parameterArray());

          The deserialized field values are checked as if they were provided to the factory method `methodType`. For example, null values, or `void` parameter types, will lead to exceptions during deserialization.

        Throws:
          `IOException` - if there is a problem writing the object

    - ### Serialization Overview

      - There are no serializable fields for `MethodType`.

  - ### Class java.lang.invoke.SerializedLambda extends Object implements Serializable

    serialVersionUID:
      8025925345765570181L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()
                                throws ReflectiveOperationException

        Throws:
          `ReflectiveOperationException`

    - ### Serialized Fields

      - #### capturedArgs

            Object[] capturedArgs

      - #### capturingClass

            Class<T> capturingClass

      - #### functionalInterfaceClass

            String functionalInterfaceClass

      - #### functionalInterfaceMethodName

            String functionalInterfaceMethodName

      - #### functionalInterfaceMethodSignature

            String functionalInterfaceMethodSignature

      - #### implClass

            String implClass

      - #### implMethodKind

            int implMethodKind

      - #### implMethodName

            String implMethodName

      - #### implMethodSignature

            String implMethodSignature

      - #### instantiatedMethodType

            String instantiatedMethodType

  - ### Class java.lang.invoke.StringConcatException extends Exception implements Serializable

    serialVersionUID:
      301L

  - ### Class java.lang.invoke.WrongMethodTypeException extends RuntimeException implements Serializable

    serialVersionUID:
      292L

- ## Package java.lang.management

  - ### Class java.lang.management.ManagementPermission extends BasicPermission implements Serializable

    serialVersionUID:
      1897496590799378737L

- ## Package java.lang.module

  - ### Class java.lang.module.FindException extends RuntimeException implements Serializable

    serialVersionUID:
      -5817081036963388391L

  - ### Class java.lang.module.InvalidModuleDescriptorException extends RuntimeException implements Serializable

    serialVersionUID:
      4863390386809347380L

  - ### Class java.lang.module.ResolutionException extends RuntimeException implements Serializable

    serialVersionUID:
      -1031186845316729450L

- ## Package java.lang.reflect

  - ### Class java.lang.reflect.GenericSignatureFormatError extends ClassFormatError implements Serializable

    serialVersionUID:
      6709919147137911034L

  - ### Class java.lang.reflect.InaccessibleObjectException extends RuntimeException implements Serializable

    serialVersionUID:
      4158786093378140901L

  - ### Class java.lang.reflect.InvocationTargetException extends ReflectiveOperationException implements Serializable

    serialVersionUID:
      4085088731926701167L

    - ### Serialized Fields

      - #### target

            Throwable target

        This field holds the target if the InvocationTargetException(Throwable target) constructor was used to instantiate the object

  - ### Class java.lang.reflect.MalformedParameterizedTypeException extends RuntimeException implements Serializable

    serialVersionUID:
      -5696557788586220964L

  - ### Class java.lang.reflect.MalformedParametersException extends RuntimeException implements Serializable

    serialVersionUID:
      20130919L

  - ### Class java.lang.reflect.Proxy extends Object implements Serializable

    serialVersionUID:
      -2222568056686623797L

    - ### Serialized Fields

      - #### h

            InvocationHandler h

        the invocation handler for this proxy instance.

  - ### Class java.lang.reflect.ReflectPermission extends BasicPermission implements Serializable

    serialVersionUID:
      7412737110241507485L

  - ### Class java.lang.reflect.UndeclaredThrowableException extends RuntimeException implements Serializable

    serialVersionUID:
      330127114055056639L

    - ### Serialized Fields

      - #### undeclaredThrowable

            Throwable undeclaredThrowable

        the undeclared checked exception that was thrown

- ## Package java.math

  - ### Class java.math.BigDecimal extends Number implements Serializable

    serialVersionUID:
      6108874887143696463L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute the `BigDecimal` instance from a stream (that is, deserialize it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Serialize this `BigDecimal` to the stream in question
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### intVal

            BigInteger intVal

        The unscaled value of this BigDecimal, as returned by `BigDecimal.unscaledValue()`.
        See Also:
          `BigDecimal.unscaledValue()`

      - #### scale

            int scale

        The scale of this BigDecimal, as returned by `BigDecimal.scale`.
        See Also:
          `BigDecimal.scale`

  - ### Class java.math.BigInteger extends Number implements Serializable

    serialVersionUID:
      -8287574255936472291L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute the `BigInteger` instance from a stream (that is, deserialize it). The magnitude is read in as an array of bytes for historical reasons, but it is converted to an array of ints and the byte array is discarded. Note: The current convention is to initialize the cache fields, bitCountPlusOne, bitLengthPlusOne and lowestSetBitPlusTwo, to 0 rather than some other marker value. Therefore, no explicit action to set these fields needs to be taken in readObject because those fields already have a 0 value by default since defaultReadObject is not being used.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Save the `BigInteger` instance to a stream. The magnitude of a `BigInteger` is serialized as a byte array for historical reasons. To maintain compatibility with older implementations, the integers -1, -1, -2, and -2 are written as the values of the obsolete fields `bitCount`, `bitLength`, `lowestSetBit`, and `firstNonzeroByteNum`, respectively. These values are compatible with older implementations, but will be ignored by current implementations.
        Throws:
          `IOException`

    - ### Serialization Overview

      - Serializable fields for BigInteger.

    - ### Serialized Fields

      - #### bitCount

            int bitCount

        appears in the serialized form for backward compatibility

      - #### bitLength

            int bitLength

        appears in the serialized form for backward compatibility

      - #### firstNonzeroByteNum

            int firstNonzeroByteNum

        appears in the serialized form for backward compatibility

      - #### lowestSetBit

            int lowestSetBit

        appears in the serialized form for backward compatibility

      - #### magnitude

            byte[] magnitude

        magnitude array of this BigInteger

      - #### signum

            int signum

        signum of this BigInteger

  - ### Class java.math.MathContext extends Object implements Serializable

    serialVersionUID:
      5579720004786848255L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute the `MathContext` instance from a stream (that is, deserialize it).
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### precision

            int precision

        The number of digits to be used for an operation. A value of 0 indicates that unlimited precision (as many digits as are required) will be used. Note that leading zeros (in the coefficient of a number) are never significant.

        `precision` will always be non-negative.

      - #### roundingMode

            RoundingMode roundingMode

        The rounding algorithm to be used for an operation.
        See Also:
          `RoundingMode`

- ## Package java.net

  - ### Class java.net.BindException extends SocketException implements Serializable

    serialVersionUID:
      -5945005768251722951L

  - ### Class java.net.ConnectException extends SocketException implements Serializable

    serialVersionUID:
      3831404271622369215L

  - ### Class java.net.HttpRetryException extends IOException implements Serializable

    serialVersionUID:
      -9186022286469111381L

    - ### Serialized Fields

      - #### location

            String location

      - #### responseCode

            int responseCode

  - ### Class java.net.Inet4Address extends InetAddress implements Serializable

    serialVersionUID:
      3286316764910316507L

    - ### Serialization Methods

      - #### writeReplace

            private Object writeReplace​()
                                 throws ObjectStreamException

        Replaces the object to be serialized with an InetAddress object.
        Throws:
          `ObjectStreamException` - if a new object replacing this object could not be created

  - ### Class java.net.Inet6Address extends InetAddress implements Serializable

    serialVersionUID:
      6880410070516793377L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        restore the state of this object from stream including the scope information, only if the scoped interface name is valid on this system
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        default behavior is overridden in order to write the scope_ifname field as a String, rather than a NetworkInterface which is not serializable
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### ifname

            String ifname

      - #### ipaddress

            byte[] ipaddress

      - #### scope_id

            int scope_id

      - #### scope_id_set

            boolean scope_id_set

      - #### scope_ifname_set

            boolean scope_ifname_set

  - ### Class java.net.InetAddress extends Object implements Serializable

    serialVersionUID:
      3286316764910316507L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### readObjectNoData

            private void readObjectNoData​(ObjectInputStream s)
                                   throws IOException,
                                          ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### readResolve

            private Object readResolve​()
                                throws ObjectStreamException

        Replaces the de-serialized object with an Inet4Address object.
        Throws:
          `ObjectStreamException` - if a new object replacing this object could not be created

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Throws:
          `IOException`

    - ### Serialized Fields

      - #### address

            int address

      - #### family

            int family

      - #### hostName

            String hostName

  - ### Class java.net.InetSocketAddress extends SocketAddress implements Serializable

    serialVersionUID:
      5076001401234631237L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### readObjectNoData

            private void readObjectNoData​()
                                   throws ObjectStreamException

        Throws:
          `ObjectStreamException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Throws:
          `IOException`

    - ### Serialized Fields

      - #### addr

            InetAddress addr

      - #### hostname

            String hostname

      - #### port

            int port

  - ### Class java.net.MalformedURLException extends IOException implements Serializable

    serialVersionUID:
      -182787522200415866L

  - ### Class java.net.NetPermission extends BasicPermission implements Serializable

    serialVersionUID:
      -8343910153355041693L

  - ### Class java.net.NoRouteToHostException extends SocketException implements Serializable

    serialVersionUID:
      -1897550894873493790L

  - ### Class java.net.PortUnreachableException extends SocketException implements Serializable

    serialVersionUID:
      8462541992376507323L

  - ### Class java.net.ProtocolException extends IOException implements Serializable

    serialVersionUID:
      -6098449442062388080L

  - ### Class java.net.SocketAddress extends Object implements Serializable

    serialVersionUID:
      5215720748342549866L

  - ### Class java.net.SocketException extends IOException implements Serializable

    serialVersionUID:
      -5935874303556886934L

  - ### Class java.net.SocketPermissionCollection extends PermissionCollection implements Serializable

    serialVersionUID:
      2787186408602843674L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serial Data:
          "permissions" field (a Vector containing the SocketPermissions).
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### permissions

            Vector<E> permissions

        A list of the SocketPermissions for this set.

  - ### Class java.net.SocketTimeoutException extends InterruptedIOException implements Serializable

    serialVersionUID:
      -8846654841826352300L

  - ### Class java.net.UnknownHostException extends IOException implements Serializable

    serialVersionUID:
      -4639126076052875403L

  - ### Class java.net.UnknownServiceException extends IOException implements Serializable

    serialVersionUID:
      -4169033248853639508L

  - ### Class java.net.URI extends Object implements Serializable

    serialVersionUID:
      -6052424284110960213L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream is)
                             throws ClassNotFoundException,
                                    IOException

        Reconstitutes a URI from the given serial stream.

        The `ObjectInputStream.defaultReadObject()` method is invoked to read the value of the `string` field. The result is then parsed in the usual way.

        Throws:
          `ClassNotFoundException`
          `IOException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream os)
                              throws IOException

        Saves the content of this URI to the given serial stream.

        The only serializable field of a URI instance is its `string` field. That field is given a value, if it does not have one already, and then the `ObjectOutputStream.defaultWriteObject()` method of the given object-output stream is invoked.

        Throws:
          `IOException`

    - ### Serialized Fields

      - #### string

            String string

        The string form of this URI.

  - ### Class java.net.URISyntaxException extends Exception implements Serializable

    serialVersionUID:
      2137979680897488891L

    - ### Serialized Fields

      - #### index

            int index

      - #### input

            String input

  - ### Class java.net.URL extends Object implements Serializable

    serialVersionUID:
      -7627629688361524110L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the URL from the stream. It reads the components of the URL and finds the local stream handler.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### readResolve

            private Object readResolve​()
                                throws ObjectStreamException

        Replaces the de-serialized object with an URL object.
        Throws:
          `ObjectStreamException` - if a new object replacing this object could not be created

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        WriteObject is called to save the state of the URL to an ObjectOutputStream. The handler is not saved since it is specific to this system.
        Serial Data:
          the default write object value. When read back in, the reader must ensure that calling getURLStreamHandler with the protocol variable returns a valid URLStreamHandler and throw an IOException if it does not.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### authority

            String authority

      - #### file

            String file

      - #### hashCode

            int hashCode

      - #### host

            String host

      - #### port

            int port

      - #### protocol

            String protocol

      - #### ref

            String ref

  - ### Class java.net.URLPermission extends Permission implements Serializable

    serialVersionUID:
      -2702463814894478682L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        restore the state of this object from stream
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### actions

            String actions

- ## Package java.nio

  - ### Class java.nio.BufferOverflowException extends RuntimeException implements Serializable

    serialVersionUID:
      -5484897634319144535L

  - ### Class java.nio.BufferUnderflowException extends RuntimeException implements Serializable

    serialVersionUID:
      -1713313658691622206L

  - ### Class java.nio.InvalidMarkException extends IllegalStateException implements Serializable

    serialVersionUID:
      1698329710438510774L

  - ### Class java.nio.ReadOnlyBufferException extends UnsupportedOperationException implements Serializable

    serialVersionUID:
      -1210063976496234090L

- ## Package java.nio.channels

  - ### Class java.nio.channels.AcceptPendingException extends IllegalStateException implements Serializable

    serialVersionUID:
      2721339977965416421L

  - ### Class java.nio.channels.AlreadyBoundException extends IllegalStateException implements Serializable

    serialVersionUID:
      6796072983322737592L

  - ### Class java.nio.channels.AlreadyConnectedException extends IllegalStateException implements Serializable

    serialVersionUID:
      -7331895245053773357L

  - ### Class java.nio.channels.AsynchronousCloseException extends ClosedChannelException implements Serializable

    serialVersionUID:
      6891178312432313966L

  - ### Class java.nio.channels.CancelledKeyException extends IllegalStateException implements Serializable

    serialVersionUID:
      -8438032138028814268L

  - ### Class java.nio.channels.ClosedByInterruptException extends AsynchronousCloseException implements Serializable

    serialVersionUID:
      -4488191543534286750L

  - ### Class java.nio.channels.ClosedChannelException extends IOException implements Serializable

    serialVersionUID:
      882777185433553857L

  - ### Class java.nio.channels.ClosedSelectorException extends IllegalStateException implements Serializable

    serialVersionUID:
      6466297122317847835L

  - ### Class java.nio.channels.ConnectionPendingException extends IllegalStateException implements Serializable

    serialVersionUID:
      2008393366501760879L

  - ### Class java.nio.channels.FileLockInterruptionException extends IOException implements Serializable

    serialVersionUID:
      7104080643653532383L

  - ### Class java.nio.channels.IllegalBlockingModeException extends IllegalStateException implements Serializable

    serialVersionUID:
      -3335774961855590474L

  - ### Class java.nio.channels.IllegalChannelGroupException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      -2495041211157744253L

  - ### Class java.nio.channels.IllegalSelectorException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      -8406323347253320987L

  - ### Class java.nio.channels.InterruptedByTimeoutException extends IOException implements Serializable

    serialVersionUID:
      -4268008601014042947L

  - ### Class java.nio.channels.NoConnectionPendingException extends IllegalStateException implements Serializable

    serialVersionUID:
      -8296561183633134743L

  - ### Class java.nio.channels.NonReadableChannelException extends IllegalStateException implements Serializable

    serialVersionUID:
      -3200915679294993514L

  - ### Class java.nio.channels.NonWritableChannelException extends IllegalStateException implements Serializable

    serialVersionUID:
      -7071230488279011621L

  - ### Class java.nio.channels.NotYetBoundException extends IllegalStateException implements Serializable

    serialVersionUID:
      4640999303950202242L

  - ### Class java.nio.channels.NotYetConnectedException extends IllegalStateException implements Serializable

    serialVersionUID:
      4697316551909513464L

  - ### Class java.nio.channels.OverlappingFileLockException extends IllegalStateException implements Serializable

    serialVersionUID:
      2047812138163068433L

  - ### Class java.nio.channels.ReadPendingException extends IllegalStateException implements Serializable

    serialVersionUID:
      1986315242191227217L

  - ### Class java.nio.channels.ShutdownChannelGroupException extends IllegalStateException implements Serializable

    serialVersionUID:
      -3903801676350154157L

  - ### Class java.nio.channels.UnresolvedAddressException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      6136959093620794148L

  - ### Class java.nio.channels.UnsupportedAddressTypeException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      -2964323842829700493L

  - ### Class java.nio.channels.WritePendingException extends IllegalStateException implements Serializable

    serialVersionUID:
      7031871839266032276L

- ## Package java.nio.charset

  - ### Class java.nio.charset.CharacterCodingException extends IOException implements Serializable

    serialVersionUID:
      8421532232154627783L

  - ### Class java.nio.charset.CoderMalfunctionError extends Error implements Serializable

    serialVersionUID:
      -1151412348057794301L

  - ### Class java.nio.charset.IllegalCharsetNameException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      1457525358470002989L

    - ### Serialized Fields

      - #### charsetName

            String charsetName

  - ### Class java.nio.charset.MalformedInputException extends CharacterCodingException implements Serializable

    serialVersionUID:
      -3438823399834806194L

    - ### Serialized Fields

      - #### inputLength

            int inputLength

  - ### Class java.nio.charset.UnmappableCharacterException extends CharacterCodingException implements Serializable

    serialVersionUID:
      -7026962371537706123L

    - ### Serialized Fields

      - #### inputLength

            int inputLength

  - ### Class java.nio.charset.UnsupportedCharsetException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      1490765524727386367L

    - ### Serialized Fields

      - #### charsetName

            String charsetName

- ## Package java.nio.file

  - ### Class java.nio.file.AccessDeniedException extends FileSystemException implements Serializable

    serialVersionUID:
      4943049599949219617L

  - ### Class java.nio.file.AtomicMoveNotSupportedException extends FileSystemException implements Serializable

    serialVersionUID:
      5402760225333135579L

  - ### Class java.nio.file.ClosedDirectoryStreamException extends IllegalStateException implements Serializable

    serialVersionUID:
      4228386650900895400L

  - ### Class java.nio.file.ClosedFileSystemException extends IllegalStateException implements Serializable

    serialVersionUID:
      -8158336077256193488L

  - ### Class java.nio.file.ClosedWatchServiceException extends IllegalStateException implements Serializable

    serialVersionUID:
      1853336266231677732L

  - ### Class java.nio.file.DirectoryIteratorException extends ConcurrentModificationException implements Serializable

    serialVersionUID:
      -6012699886086212874L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Called to read the object from a stream.
        Throws:
          `InvalidObjectException` - if the object is invalid or has a cause that is not an `IOException`
          `IOException`
          `ClassNotFoundException`

  - ### Class java.nio.file.DirectoryNotEmptyException extends FileSystemException implements Serializable

    serialVersionUID:
      3056667871802779003L

  - ### Class java.nio.file.FileAlreadyExistsException extends FileSystemException implements Serializable

    serialVersionUID:
      7579540934498831181L

  - ### Class java.nio.file.FileSystemAlreadyExistsException extends RuntimeException implements Serializable

    serialVersionUID:
      -5438419127181131148L

  - ### Class java.nio.file.FileSystemException extends IOException implements Serializable

    serialVersionUID:
      -3055425747967319812L

    - ### Serialized Fields

      - #### file

            String file

      - #### other

            String other

  - ### Class java.nio.file.FileSystemLoopException extends FileSystemException implements Serializable

    serialVersionUID:
      4843039591949217617L

  - ### Class java.nio.file.FileSystemNotFoundException extends RuntimeException implements Serializable

    serialVersionUID:
      7999581764446402397L

  - ### Class java.nio.file.InvalidPathException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      4355821422286746137L

    - ### Serialized Fields

      - #### index

            int index

      - #### input

            String input

  - ### Class java.nio.file.LinkPermission extends BasicPermission implements Serializable

    serialVersionUID:
      -1441492453772213220L

  - ### Class java.nio.file.NoSuchFileException extends FileSystemException implements Serializable

    serialVersionUID:
      -1390291775875351931L

  - ### Class java.nio.file.NotDirectoryException extends FileSystemException implements Serializable

    serialVersionUID:
      -9011457427178200199L

  - ### Class java.nio.file.NotLinkException extends FileSystemException implements Serializable

    serialVersionUID:
      -388655596416518021L

  - ### Class java.nio.file.ProviderMismatchException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      4990847485741612530L

  - ### Class java.nio.file.ProviderNotFoundException extends RuntimeException implements Serializable

    serialVersionUID:
      -1880012509822920354L

  - ### Class java.nio.file.ReadOnlyFileSystemException extends UnsupportedOperationException implements Serializable

    serialVersionUID:
      -6822409595617487197L

- ## Package java.nio.file.attribute

  - ### Class java.nio.file.attribute.UserPrincipalNotFoundException extends IOException implements Serializable

    serialVersionUID:
      -5369283889045833024L

    - ### Serialized Fields

      - #### name

            String name

- ## Package java.rmi

  - ### Class java.rmi.AccessException extends RemoteException implements Serializable

    serialVersionUID:
      6314925228044966088L

  - ### Class java.rmi.AlreadyBoundException extends Exception implements Serializable

    serialVersionUID:
      9218657361741657110L

  - ### Class java.rmi.ConnectException extends RemoteException implements Serializable

    serialVersionUID:
      4863550261346652506L

  - ### Class java.rmi.ConnectIOException extends RemoteException implements Serializable

    serialVersionUID:
      -8087809532704668744L

  - ### Class java.rmi.MarshalException extends RemoteException implements Serializable

    serialVersionUID:
      6223554758134037936L

  - ### Class java.rmi.MarshalledObject extends Object implements Serializable

    serialVersionUID:
      8988374069173025854L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream stream)
                             throws IOException,
                                    ClassNotFoundException

        Reads in the state of the object and saves the stream's serialization filter to be used when the object is deserialized.
        Throws:
          `IOException` - if an I/O error occurs
          `ClassNotFoundException` - if a class cannot be found

    - ### Serialized Fields

      - #### hash

            int hash

        Stored hash code of contained object.
        See Also:
          `MarshalledObject.hashCode()`

      - #### locBytes

            byte[] locBytes

        Bytes of location annotations, which are ignored by `equals`. If `locBytes` is null, there were no non-`null` annotations during marshalling.

      - #### objBytes

            byte[] objBytes

        Bytes of serialized representation. If `objBytes` is `null` then the object marshalled was a `null` reference.

  - ### Class java.rmi.NoSuchObjectException extends RemoteException implements Serializable

    serialVersionUID:
      6619395951570472985L

  - ### Class java.rmi.NotBoundException extends Exception implements Serializable

    serialVersionUID:
      -1857741824849069317L

  - ### Class java.rmi.RemoteException extends IOException implements Serializable

    serialVersionUID:
      -5148567311918794206L

    - ### Serialized Fields

      - #### detail

            Throwable detail

        The cause of the remote exception.

        This field predates the general-purpose exception chaining facility. The `Throwable.getCause()` method is now the preferred means of obtaining this information.

  - ### Class java.rmi.RMISecurityException extends SecurityException implements Serializable

    serialVersionUID:
      -8433406075740433514L

  - ### Class java.rmi.ServerError extends RemoteException implements Serializable

    serialVersionUID:
      8455284893909696482L

  - ### Class java.rmi.ServerException extends RemoteException implements Serializable

    serialVersionUID:
      -4775845313121906682L

  - ### Class java.rmi.ServerRuntimeException extends RemoteException implements Serializable

    serialVersionUID:
      7054464920481467219L

  - ### Class java.rmi.StubNotFoundException extends RemoteException implements Serializable

    serialVersionUID:
      -7088199405468872373L

  - ### Class java.rmi.UnexpectedException extends RemoteException implements Serializable

    serialVersionUID:
      1800467484195073863L

  - ### Class java.rmi.UnknownHostException extends RemoteException implements Serializable

    serialVersionUID:
      -8152710247442114228L

  - ### Class java.rmi.UnmarshalException extends RemoteException implements Serializable

    serialVersionUID:
      594380845140740218L

- ## Package java.rmi.activation

  - ### Class java.rmi.activation.ActivateFailedException extends RemoteException implements Serializable

    serialVersionUID:
      4863550261346652506L

  - ### Class java.rmi.activation.ActivationDesc extends Object implements Serializable

    serialVersionUID:
      7455834104417690957L

    - ### Serialized Fields

      - #### className

            String className

        the object's class name

      - #### data

            MarshalledObject<T> data

        the object's initialization data

      - #### groupID

            ActivationGroupID groupID

        the group's identifier

      - #### location

            String location

        the object's code location

      - #### restart

            boolean restart

        indicates whether the object should be restarted

  - ### Class java.rmi.activation.ActivationException extends Exception implements Serializable

    serialVersionUID:
      -4320118837291406071L

    - ### Serialized Fields

      - #### detail

            Throwable detail

        The cause of the activation exception.

        This field predates the general-purpose exception chaining facility. The `Throwable.getCause()` method is now the preferred means of obtaining this information.

  - ### Class java.rmi.activation.ActivationGroup extends UnicastRemoteObject implements Serializable

    serialVersionUID:
      -7696947875314805420L

    - ### Serialized Fields

      - #### groupID

            ActivationGroupID groupID

        the group's identifier

      - #### incarnation

            long incarnation

        the group's incarnation number

      - #### monitor

            ActivationMonitor monitor

        the group's monitor

  - ### Class java.rmi.activation.ActivationGroup_Stub extends RemoteStub implements Serializable

  - ### Class java.rmi.activation.ActivationGroupDesc extends Object implements Serializable

    serialVersionUID:
      -4936225423168276595L

    - ### Serialized Fields

      - #### className

            String className

        The group's fully package qualified class name.

      - #### data

            MarshalledObject<T> data

        The group's initialization data.

      - #### env

            ActivationGroupDesc.CommandEnvironment env

        The controlling options for executing the VM in another process.

      - #### location

            String location

        The location from where to load the group's class.

      - #### props

            Properties props

        A properties map which will override those set by default in the subprocess environment.

  - ### Class java.rmi.activation.ActivationGroupDesc.CommandEnvironment extends Object implements Serializable

    serialVersionUID:
      6165754737887770191L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        `readObject` for custom serialization.

        This method reads this object's serialized form for this class as follows:

        This method first invokes `defaultReadObject` on the specified object input stream, and if `options` is `null`, then `options` is set to a zero-length array of `String`.

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### command

            String command

      - #### options

            String[] options

  - ### Class java.rmi.activation.ActivationGroupID extends Object implements Serializable

    serialVersionUID:
      -1648432278909740833L

    - ### Serialized Fields

      - #### system

            ActivationSystem system

        The group's activation system.

      - #### uid

            UID uid

        The group's unique id.

  - ### Class java.rmi.activation.ActivationID extends Object implements Serializable

    serialVersionUID:
      -4608673054848209235L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        `readObject` for custom serialization.

        This method reads this object's serialized form for this class as follows:

        The `readObject` method is invoked on `in` to read this object's unique identifier (a `UID` instance).

        Next, the `readUTF` method is invoked on `in` to read the external ref type name of the `RemoteRef` instance for this object's activator. Next, the `RemoteRef` instance is created of an implementation-specific class corresponding to the external ref type name (returned by `readUTF`), and the `readExternal` method is invoked on that `RemoteRef` instance to read the external form corresponding to the external ref type name.

        Note: If the external ref type name is `"UnicastRef"`, `"UnicastServerRef"`, `"UnicastRef2"`, `"UnicastServerRef2"`, or `"ActivatableRef"`, a corresponding implementation-specific class must be found, and its `readExternal` method must read the serial data for that external ref type name as specified to be written in the serialData documentation for this class. If the external ref type name is any other string (of non-zero length), a `ClassNotFoundException` will be thrown, unless the implementation provides an implementation-specific class corresponding to that external ref type name, in which case the `RemoteRef` will be an instance of that implementation-specific class.

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException,
                                     ClassNotFoundException

        `writeObject` for custom serialization.

        This method writes this object's serialized form for this class as follows:

        The `writeObject` method is invoked on `out` passing this object's unique identifier (a `UID` instance) as the argument.

        Next, the `getRefClass` method is invoked on the activator's `RemoteRef` instance to obtain its external ref type name. Next, the `writeUTF` method is invoked on `out` with the value returned by `getRefClass`, and then the `writeExternal` method is invoked on the `RemoteRef` instance passing `out` as the argument.

        Serial Data:
          The serialized data for this class comprises a `java.rmi.server.UID` (written with `ObjectOutput.writeObject`) followed by the external ref type name of the activator's `RemoteRef` instance (a string written with `ObjectOutput.writeUTF`), followed by the external form of the `RemoteRef` instance as written by its `writeExternal` method.

          The external ref type name of the `RemoteRef` instance is determined using the definitions of external ref type names specified in the `RemoteObject` `writeObject` method serialData specification. Similarly, the data written by the `writeExternal` method and read by the `readExternal` method of `RemoteRef` implementation classes corresponding to each of the defined external ref type names is specified in the `RemoteObject` `writeObject` method serialData specification.

        Throws:
          `IOException`
          `ClassNotFoundException`

  - ### Class java.rmi.activation.UnknownGroupException extends ActivationException implements Serializable

    serialVersionUID:
      7056094974750002460L

  - ### Class java.rmi.activation.UnknownObjectException extends ActivationException implements Serializable

    serialVersionUID:
      3425547551622251430L

- ## Package java.rmi.dgc

  - ### Class java.rmi.dgc.Lease extends Object implements Serializable

    serialVersionUID:
      -5713411624328831948L

    - ### Serialized Fields

      - #### value

            long value

        Duration of this lease.
        See Also:
          `Lease.getValue()`

      - #### vmid

            VMID vmid

        Virtual Machine ID with which this Lease is associated.
        See Also:
          `Lease.getVMID()`

  - ### Class java.rmi.dgc.VMID extends Object implements Serializable

    serialVersionUID:
      -538642295484486218L

    - ### Serialized Fields

      - #### addr

            byte[] addr

        array of bytes uniquely identifying host created on

      - #### uid

            UID uid

        unique identifier with respect to host created on

- ## Package java.rmi.server

  - ### Class java.rmi.server.ExportException extends RemoteException implements Serializable

    serialVersionUID:
      -9155485338494060170L

  - ### Class java.rmi.server.ObjID extends Object implements Serializable

    serialVersionUID:
      -6386392263968365220L

    - ### Serialized Fields

      - #### objNum

            long objNum

        object number
        See Also:
          `ObjID.hashCode()`

      - #### space

            UID space

        address space identifier (unique to host over time)

  - ### Class java.rmi.server.RemoteObject extends Object implements Serializable

    serialVersionUID:
      -3215090123894869218L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        `readObject` for custom serialization.

        This method reads this object's serialized form for this class as follows:

        The `readUTF` method is invoked on `in` to read the external ref type name for the `RemoteRef` instance to be filled in to this object's `ref` field. If the string returned by `readUTF` has length zero, the `readObject` method is invoked on `in`, and than the value returned by `readObject` is cast to `RemoteRef` and this object's `ref` field is set to that value. Otherwise, this object's `ref` field is set to a `RemoteRef` instance that is created of an implementation-specific class corresponding to the external ref type name returned by `readUTF`, and then the `readExternal` method is invoked on this object's `ref` field.

        If the external ref type name is `"UnicastRef"`, `"UnicastServerRef"`, `"UnicastRef2"`, `"UnicastServerRef2"`, or `"ActivatableRef"`, a corresponding implementation-specific class must be found, and its `readExternal` method must read the serial data for that external ref type name as specified to be written in the serialData documentation for this class. If the external ref type name is any other string (of non-zero length), a `ClassNotFoundException` will be thrown, unless the implementation provides an implementation-specific class corresponding to that external ref type name, in which case this object's `ref` field will be set to an instance of that implementation-specific class.

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException,
                                     ClassNotFoundException

        `writeObject` for custom serialization.

        This method writes this object's serialized form for this class as follows:

        The `getRefClass` method is invoked on this object's `ref` field to obtain its external ref type name. If the value returned by `getRefClass` was a non-`null` string of length greater than zero, the `writeUTF` method is invoked on `out` with the value returned by `getRefClass`, and then the `writeExternal` method is invoked on this object's `ref` field passing `out` as the argument; otherwise, the `writeUTF` method is invoked on `out` with a zero-length string (`""`), and then the `writeObject` method is invoked on `out` passing this object's `ref` field as the argument.

        Serial Data:
          The serialized data for this class comprises a string (written with `ObjectOutput.writeUTF`) that is either the external ref type name of the contained `RemoteRef` instance (the `ref` field) or a zero-length string, followed by either the external form of the `ref` field as written by its `writeExternal` method if the string was of non-zero length, or the serialized form of the `ref` field as written by passing it to the serialization stream's `writeObject` if the string was of zero length.

          If this object is an instance of `RemoteStub` or `RemoteObjectInvocationHandler` that was returned from any of the `UnicastRemoteObject.exportObject` methods and custom socket factories are not used, the external ref type name is `"UnicastRef"`. If this object is an instance of `RemoteStub` or `RemoteObjectInvocationHandler` that was returned from any of the `UnicastRemoteObject.exportObject` methods and custom socket factories are used, the external ref type name is `"UnicastRef2"`. If this object is an instance of `RemoteStub` or `RemoteObjectInvocationHandler` that was returned from any of the `java.rmi.activation.Activatable.exportObject` methods, the external ref type name is `"ActivatableRef"`. If this object is an instance of `RemoteStub` or `RemoteObjectInvocationHandler` that was returned from the `RemoteObject.toStub` method (and the argument passed to `toStub` was not itself a `RemoteStub`), the external ref type name is a function of how the remote object passed to `toStub` was exported, as described above. If this object is an instance of `RemoteStub` or `RemoteObjectInvocationHandler` that was originally created via deserialization, the external ref type name is the same as that which was read when this object was deserialized.

          If this object is an instance of `java.rmi.server.UnicastRemoteObject` that does not use custom socket factories, the external ref type name is `"UnicastServerRef"`. If this object is an instance of `UnicastRemoteObject` that does use custom socket factories, the external ref type name is `"UnicastServerRef2"`.

          Following is the data that must be written by the `writeExternal` method and read by the `readExternal` method of `RemoteRef` implementation classes that correspond to the each of the defined external ref type names:

          For `"UnicastRef"`:

          - the hostname of the referenced remote object, written by `DataOutput.writeUTF(String)`
          - the port of the referenced remote object, written by `DataOutput.writeInt(int)`
          - the data written as a result of calling {link java.rmi.server.ObjID#write(java.io.ObjectOutput)} on the `ObjID` instance contained in the reference
          - the boolean value `false`, written by `DataOutput.writeBoolean(boolean)`

          For `"UnicastRef2"` with a `null` client socket factory:

          - the byte value `0x00` (indicating `null` client socket factory), written by `DataOutput.writeByte(int)`
          - the hostname of the referenced remote object, written by `DataOutput.writeUTF(String)`
          - the port of the referenced remote object, written by `DataOutput.writeInt(int)`
          - the data written as a result of calling {link java.rmi.server.ObjID#write(java.io.ObjectOutput)} on the `ObjID` instance contained in the reference
          - the boolean value `false`, written by `DataOutput.writeBoolean(boolean)`

          For `"UnicastRef2"` with a non-`null` client socket factory:

          - the byte value `0x01` (indicating non-`null` client socket factory), written by `DataOutput.writeByte(int)`
          - the hostname of the referenced remote object, written by `DataOutput.writeUTF(String)`
          - the port of the referenced remote object, written by `DataOutput.writeInt(int)`
          - a client socket factory (object of type `java.rmi.server.RMIClientSocketFactory`), written by passing it to an invocation of `writeObject` on the stream instance
          - the data written as a result of calling {link java.rmi.server.ObjID#write(java.io.ObjectOutput)} on the `ObjID` instance contained in the reference
          - the boolean value `false`, written by `DataOutput.writeBoolean(boolean)`

          For `"ActivatableRef"` with a `null` nested remote reference:

          - an instance of `java.rmi.activation.ActivationID`, written by passing it to an invocation of `writeObject` on the stream instance
          - a zero-length string (`""`), written by `DataOutput.writeUTF(String)`

          For `"ActivatableRef"` with a non-`null` nested remote reference:

          - an instance of `java.rmi.activation.ActivationID`, written by passing it to an invocation of `writeObject` on the stream instance
          - the external ref type name of the nested remote reference, which must be `"UnicastRef2"`, written by `DataOutput.writeUTF(String)`
          - the external form of the nested remote reference, written by invoking its `writeExternal` method with the stream instance (see the description of the external form for `"UnicastRef2"` above)

          For `"UnicastServerRef"` and `"UnicastServerRef2"`, no data is written by the `writeExternal` method or read by the `readExternal` method.

        Throws:
          `IOException`
          `ClassNotFoundException`

  - ### Class java.rmi.server.RemoteObjectInvocationHandler extends RemoteObject implements Serializable

    serialVersionUID:
      2L

    - ### Serialization Methods

      - #### readObjectNoData

            private void readObjectNoData​()
                                   throws InvalidObjectException

        Throws:
          `InvalidObjectException` - unconditionally

  - ### Class java.rmi.server.RemoteServer extends RemoteObject implements Serializable

    serialVersionUID:
      -4100238210092549637L

  - ### Class java.rmi.server.RemoteStub extends RemoteObject implements Serializable

    serialVersionUID:
      -1585587260594494182L

  - ### Class java.rmi.server.ServerCloneException extends CloneNotSupportedException implements Serializable

    serialVersionUID:
      6617456357664815945L

    - ### Serialized Fields

      - #### detail

            Exception detail

        The cause of the exception.

        This field predates the general-purpose exception chaining facility. The `Throwable.getCause()` method is now the preferred means of obtaining this information.

  - ### Class java.rmi.server.ServerNotActiveException extends Exception implements Serializable

    serialVersionUID:
      4687940720827538231L

  - ### Class java.rmi.server.SkeletonMismatchException extends RemoteException implements Serializable

    serialVersionUID:
      -7780460454818859281L

  - ### Class java.rmi.server.SkeletonNotFoundException extends RemoteException implements Serializable

    serialVersionUID:
      -7860299673822761231L

  - ### Class java.rmi.server.SocketSecurityException extends ExportException implements Serializable

    serialVersionUID:
      -7622072999407781979L

  - ### Class java.rmi.server.UID extends Object implements Serializable

    serialVersionUID:
      1086053664494604050L

    - ### Serialized Fields

      - #### count

            short count

        16-bit number to distinguish `UID` instances created in the same VM with the same time value

      - #### time

            long time

        a time (as returned by `System.currentTimeMillis()`) at which the VM that this `UID` was generated in was alive

      - #### unique

            int unique

        number that uniquely identifies the VM that this `UID` was generated in with respect to its host and at the given time

  - ### Class java.rmi.server.UnicastRemoteObject extends RemoteServer implements Serializable

    serialVersionUID:
      4974527148936298033L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Re-export the remote object when it is deserialized.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### csf

            RMIClientSocketFactory csf

        client-side socket factory (if any)

      - #### port

            int port

        port number on which to export object

      - #### ssf

            RMIServerSocketFactory ssf

        server-side socket factory (if any) to use when exporting object

- ## Package java.security

  - ### Class java.security.AccessControlException extends SecurityException implements Serializable

    serialVersionUID:
      5138225684096988535L

    - ### Serialized Fields

      - #### perm

            Permission perm

  - ### Class java.security.AllPermissionCollection extends PermissionCollection implements Serializable

    serialVersionUID:
      -4023755556366636806L

    - ### Serialized Fields

      - #### all_allowed

            boolean all_allowed

  - ### Class java.security.AuthProvider extends Provider implements Serializable

    serialVersionUID:
      4197859053084546461L

  - ### Class java.security.BasicPermission extends Permission implements Serializable

    serialVersionUID:
      6279438298436773498L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the BasicPermission from a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

  - ### Class java.security.BasicPermissionCollection extends PermissionCollection implements Serializable

    serialVersionUID:
      739301742472979399L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the BasicPermissionCollection from a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serial Data:
          Default fields.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### all_allowed

            boolean all_allowed

        This is set to `true` if this BasicPermissionCollection contains a BasicPermission with '*' as its permission name.

      - #### permClass

            Class<T> permClass

        The class to which all BasicPermissions in this BasicPermissionCollection belongs.

      - #### permissions

            Hashtable<K,V> permissions

        The BasicPermissions in this BasicPermissionCollection. All BasicPermissions in the collection must belong to the same class. The Hashtable is indexed by the BasicPermission name; the value of the Hashtable entry is the permission.

  - ### Class java.security.CodeSigner extends Object implements Serializable

    serialVersionUID:
      6819288105193937581L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### signerCertPath

            CertPath signerCertPath

        The signer's certificate path.

      - #### timestamp

            Timestamp timestamp

  - ### Class java.security.CodeSource extends Object implements Serializable

    serialVersionUID:
      4977541819976013951L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Restores this object from a stream (i.e., deserializes it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream oos)
                              throws IOException

        Writes this object out to a stream (i.e., serializes it).
        Serial Data:
          An initial `URL` is followed by an `int` indicating the number of certificates to follow (a value of "zero" denotes that there are no certificates associated with this object). Each certificate is written out starting with a `String` denoting the certificate type, followed by an `int` specifying the length of the certificate encoding, followed by the certificate encoding itself which is written out as an array of bytes. Finally, if any code signers are present then the array of code signers is serialized and written out too.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### location

            URL location

        The code location.

  - ### Class java.security.DigestException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      5821450303093652515L

  - ### Class java.security.GeneralSecurityException extends Exception implements Serializable

    serialVersionUID:
      894798122053539237L

  - ### Class java.security.GuardedObject extends Object implements Serializable

    serialVersionUID:
      -5240450096227834308L

    - ### Serialization Methods

      - #### writeObject

            private void writeObject​(ObjectOutputStream oos)
                              throws IOException

        Writes this object out to a stream (i.e., serializes it). We check the guard if there is one.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### guard

            Guard guard

      - #### object

            Object object

  - ### Class java.security.Identity extends Object implements Serializable

    serialVersionUID:
      3609922007826600659L

    - ### Serialized Fields

      - #### certificates

            Vector<E> certificates

        Deprecated.
        The certificates for this identity.

      - #### info

            String info

        Deprecated.
        Generic, descriptive information about the identity.

      - #### name

            String name

        Deprecated.
        The name for this identity.

      - #### publicKey

            PublicKey publicKey

        Deprecated.
        The public key for this identity.

      - #### scope

            IdentityScope scope

        Deprecated.
        The scope of the identity.

  - ### Class java.security.IdentityScope extends Identity implements Serializable

    serialVersionUID:
      -2337346281189773310L

  - ### Class java.security.InvalidAlgorithmParameterException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      2864672297499471472L

  - ### Class java.security.InvalidKeyException extends KeyException implements Serializable

    serialVersionUID:
      5698479920593359816L

  - ### Class java.security.InvalidParameterException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      -857968536935667808L

  - ### Class java.security.KeyException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      -7483676942812432108L

  - ### Class java.security.KeyManagementException extends KeyException implements Serializable

    serialVersionUID:
      947674216157062695L

  - ### Class java.security.KeyPair extends Object implements Serializable

    serialVersionUID:
      -7565189502268009837L

    - ### Serialized Fields

      - #### privateKey

            PrivateKey privateKey

      - #### publicKey

            PublicKey publicKey

  - ### Class java.security.KeyRep extends Object implements Serializable

    serialVersionUID:
      -4757683898830641853L

    - ### Serialization Methods

      - #### readResolve

            protected Object readResolve​()
                                  throws ObjectStreamException

        Resolve the Key object.

        This method supports three Type/format combinations:

        - Type.SECRET/"RAW" - returns a SecretKeySpec object constructed using encoded key bytes and algorithm
        - Type.PUBLIC/"X.509" - gets a KeyFactory instance for the key algorithm, constructs an X509EncodedKeySpec with the encoded key bytes, and generates a public key from the spec
        - Type.PRIVATE/"PKCS#8" - gets a KeyFactory instance for the key algorithm, constructs a PKCS8EncodedKeySpec with the encoded key bytes, and generates a private key from the spec
        Throws:
          `ObjectStreamException` - if the Type/format combination is unrecognized, if the algorithm, key format, or encoded key bytes are unrecognized/invalid, of if the resolution of the key fails for any reason

    - ### Serialized Fields

      - #### algorithm

            String algorithm

        The Key algorithm

      - #### encoded

            byte[] encoded

        The encoded Key bytes

      - #### format

            String format

        The Key encoding format

      - #### type

            KeyRep.Type type

        Either one of Type.SECRET, Type.PUBLIC, or Type.PRIVATE

  - ### Class java.security.KeyStoreException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      -1119353179322377262L

  - ### Class java.security.NoSuchAlgorithmException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      -7443947487218346562L

  - ### Class java.security.NoSuchProviderException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      8488111756688534474L

  - ### Class java.security.Permission extends Object implements Serializable

    serialVersionUID:
      -5636570222231596674L

    - ### Serialized Fields

      - #### name

            String name

  - ### Class java.security.PermissionCollection extends Object implements Serializable

    serialVersionUID:
      -6727011328946861783L

    - ### Serialized Fields

      - #### readOnly

            boolean readOnly

  - ### Class java.security.PermissionsHash extends PermissionCollection implements Serializable

    serialVersionUID:
      -8491988220802933440L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serial Data:
          Default fields.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### perms

            Hashtable<K,V> perms

        A table of the Permissions (both key and value are same).

  - ### Class java.security.PrivilegedActionException extends Exception implements Serializable

    serialVersionUID:
      4724086851538908602L

    - ### Serialized Fields

      - #### exception

            Exception exception

  - ### Class java.security.Provider extends Properties implements Serializable

    serialVersionUID:
      -4298000515446427739L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Reads the `ObjectInputStream` for the default serializable fields. If the serialized field `versionStr` is found in the STREAM FIELDS, its String value will be used to populate both the version string and version number. If `versionStr` is not found, but `version` is, then its double value will be used to populate both fields.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### info

            String info

        A description of the provider and its services.

      - #### name

            String name

        The provider name.

      - #### version

            double version

        The provider version number.

      - #### versionStr

            String versionStr

        The provider version string.

  - ### Class java.security.ProviderException extends RuntimeException implements Serializable

    serialVersionUID:
      5256023526693665674L

  - ### Class java.security.SecureRandom extends Random implements Serializable

    serialVersionUID:
      4940670005562187L

    - ### Serialized Fields

      - #### algorithm

            String algorithm

      - #### counter

            long counter

      - #### digest

            MessageDigest digest

      - #### provider

            Provider provider

        The provider.
        Since:
          1.2

      - #### randomBytes

            byte[] randomBytes

        We know that the MessageDigest class does not implement java.io.Serializable. However, since this field is no longer used, it will always be NULL and won't affect the serialization of the `SecureRandom` class itself.

      - #### randomBytesUsed

            int randomBytesUsed

      - #### secureRandomSpi

            SecureRandomSpi secureRandomSpi

        The provider implementation.
        Since:
          1.2

      - #### state

            byte[] state

      - #### threadSafe

            boolean threadSafe

        Thread safety.
        Since:
          9

  - ### Class java.security.SecureRandomSpi extends Object implements Serializable

    serialVersionUID:
      -2991854161009191830L

  - ### Class java.security.SecurityPermission extends BasicPermission implements Serializable

    serialVersionUID:
      5236109936224050470L

  - ### Class java.security.SignatureException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      7509989324975124438L

  - ### Class java.security.SignedObject extends Object implements Serializable

    serialVersionUID:
      720502720485447167L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the SignedObject from a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### content

            byte[] content

      - #### signature

            byte[] signature

      - #### thealgorithm

            String thealgorithm

  - ### Class java.security.Signer extends Identity implements Serializable

    serialVersionUID:
      -1763464102261361480L

    - ### Serialized Fields

      - #### privateKey

            PrivateKey privateKey

        Deprecated.
        The signer's private key.

  - ### Class java.security.Timestamp extends Object implements Serializable

    serialVersionUID:
      -5502683707821851294L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### signerCertPath

            CertPath signerCertPath

        The TSA's certificate path.

      - #### timestamp

            Date timestamp

        The timestamp's date and time

  - ### Class java.security.UnrecoverableEntryException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      -4527142945246286535L

  - ### Class java.security.UnrecoverableKeyException extends UnrecoverableEntryException implements Serializable

    serialVersionUID:
      7275063078190151277L

  - ### Class java.security.UnresolvedPermission extends Permission implements Serializable

    serialVersionUID:
      -4821973115467008846L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Restores this object from a stream (i.e., deserializes it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream oos)
                              throws IOException

        Writes this object out to a stream (i.e., serializes it).
        Serial Data:
          An initial `String` denoting the `type` is followed by a `String` denoting the `name` is followed by a `String` denoting the `actions` is followed by an `int` indicating the number of certificates to follow (a value of "zero" denotes that there are no certificates associated with this object). Each certificate is written out starting with a `String` denoting the certificate type, followed by an `int` specifying the length of the certificate encoding, followed by the certificate encoding itself which is written out as an array of bytes.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### actions

            String actions

        The actions of the permission.

      - #### name

            String name

        The permission name.

      - #### type

            String type

        The class name of the Permission class that will be created when this unresolved permission is resolved.

  - ### Class java.security.UnresolvedPermissionCollection extends PermissionCollection implements Serializable

    serialVersionUID:
      -7176153071733132400L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serial Data:
          Default field.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### permissions

            Hashtable<K,V> permissions

        A table of the UnresolvedPermissions keyed on type, value is Vector of permissions

- ## Package java.security.acl

  - ### Class java.security.acl.AclNotFoundException extends Exception implements Serializable

    serialVersionUID:
      5684295034092681791L

  - ### Class java.security.acl.LastOwnerException extends Exception implements Serializable

    serialVersionUID:
      -5141997548211140359L

  - ### Class java.security.acl.NotOwnerException extends Exception implements Serializable

    serialVersionUID:
      -5555597911163362399L

- ## Package java.security.cert

  - ### Class java.security.cert.Certificate extends Object implements Serializable

    serialVersionUID:
      -3585440601605666277L

    - ### Serialization Methods

      - #### writeReplace

            protected Object writeReplace​()
                                   throws ObjectStreamException

        Replace the Certificate to be serialized.
        Throws:
          `ObjectStreamException` - if a new object representing this Certificate could not be created
        Since:
          1.3

    - ### Serialized Fields

      - #### hash

            int hash

        Cache the hash code for the certiticate

      - #### type

            String type

  - ### Class java.security.cert.Certificate.CertificateRep extends Object implements Serializable

    serialVersionUID:
      -8563758940495660020L

    - ### Serialization Methods

      - #### readResolve

            protected Object readResolve​()
                                  throws ObjectStreamException

        Resolve the Certificate Object.
        Throws:
          `ObjectStreamException` - if the Certificate could not be resolved

    - ### Serialized Fields

      - #### data

            byte[] data

      - #### type

            String type

  - ### Class java.security.cert.CertificateEncodingException extends CertificateException implements Serializable

    serialVersionUID:
      6219492851589449162L

  - ### Class java.security.cert.CertificateException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      3192535253797119798L

  - ### Class java.security.cert.CertificateExpiredException extends CertificateException implements Serializable

    serialVersionUID:
      9071001339691533771L

  - ### Class java.security.cert.CertificateNotYetValidException extends CertificateException implements Serializable

    serialVersionUID:
      4355919900041064702L

  - ### Class java.security.cert.CertificateParsingException extends CertificateException implements Serializable

    serialVersionUID:
      -7989222416793322029L

  - ### Class java.security.cert.CertificateRevokedException extends CertificateException implements Serializable

    serialVersionUID:
      7839996631571608627L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Deserialize the `CertificateRevokedException` instance.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream oos)
                              throws IOException

        Serialize this `CertificateRevokedException` instance.
        Serial Data:
          the size of the extensions map (int), followed by all of the extensions in the map, in no particular order. For each extension, the following data is emitted: the OID String (Object), the criticality flag (boolean), the length of the encoded extension value byte array (int), and the encoded extension value bytes.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### authority

            X500Principal authority

        the `X500Principal` that represents the name of the authority that signed the certificate's revocation status information

      - #### reason

            CRLReason reason

        the revocation reason

      - #### revocationDate

            Date revocationDate

        the date on which the certificate was revoked

  - ### Class java.security.cert.CertPath extends Object implements Serializable

    serialVersionUID:
      6068470306649138683L

    - ### Serialization Methods

      - #### writeReplace

            protected Object writeReplace​()
                                   throws ObjectStreamException

        Replaces the `CertPath` to be serialized with a `CertPathRep` object.
        Throws:
          `ObjectStreamException` - if a `CertPathRep` object representing this certification path could not be created

    - ### Serialized Fields

      - #### type

            String type

  - ### Class java.security.cert.CertPath.CertPathRep extends Object implements Serializable

    serialVersionUID:
      3015633072427920915L

    - ### Serialization Methods

      - #### readResolve

            protected Object readResolve​()
                                  throws ObjectStreamException

        Returns a `CertPath` constructed from the type and data.
        Throws:
          `ObjectStreamException` - if a `CertPath` could not be constructed

    - ### Serialized Fields

      - #### data

            byte[] data

        The encoded form of the cert path

      - #### type

            String type

        The Certificate type

  - ### Class java.security.cert.CertPathBuilderException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      5316471420178794402L

  - ### Class java.security.cert.CertPathValidatorException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      -3083180014971893139L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream stream)
                             throws ClassNotFoundException,
                                    IOException

        Throws:
          `ClassNotFoundException`
          `IOException`

    - ### Serialized Fields

      - #### certPath

            CertPath certPath

        the `CertPath` that was being validated when the exception was thrown

      - #### index

            int index

        the index of the certificate in the certification path that caused the exception to be thrown

      - #### reason

            CertPathValidatorException.Reason reason

        the reason the validation failed

  - ### Class java.security.cert.CertStoreException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      2395296107471573245L

  - ### Class java.security.cert.CRLException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      -6694728944094197147L

  - ### Class java.security.cert.X509Certificate extends Certificate implements Serializable

    serialVersionUID:
      -2491127588187038216L

- ## Package java.security.interfaces

- ## Package java.security.spec

  - ### Class java.security.spec.InvalidKeySpecException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      3546139293998810778L

  - ### Class java.security.spec.InvalidParameterSpecException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      -970468769593399342L

- ## Package java.sql

  - ### Class java.sql.BatchUpdateException extends SQLException implements Serializable

    serialVersionUID:
      5977529877145521757L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the `BatchUpdateException` from a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException,
                                     ClassNotFoundException

        writeObject is called to save the state of the `BatchUpdateException` to a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### longUpdateCounts

            long[] longUpdateCounts

        The array that describes the outcome of a batch execution.
        Since:
          1.8

      - #### updateCounts

            int[] updateCounts

        The array that describes the outcome of a batch execution.
        Since:
          1.2

  - ### Class java.sql.DataTruncation extends SQLWarning implements Serializable

    serialVersionUID:
      6464298989504059473L

    - ### Serialized Fields

      - #### dataSize

            int dataSize

      - #### index

            int index

      - #### parameter

            boolean parameter

      - #### read

            boolean read

      - #### transferSize

            int transferSize

  - ### Class java.sql.Date extends Date implements Serializable

    serialVersionUID:
      1511598038487230103L

  - ### Class java.sql.SQLClientInfoException extends SQLException implements Serializable

    serialVersionUID:
      -4319604256824655880L

    - ### Serialized Fields

      - #### failedProperties

            Map<K,V> failedProperties

  - ### Class java.sql.SQLDataException extends SQLNonTransientException implements Serializable

    serialVersionUID:
      -6889123282670549800L

  - ### Class java.sql.SQLException extends Exception implements Serializable

    serialVersionUID:
      2135244094396331484L

    - ### Serialized Fields

      - #### next

            SQLException next

      - #### SQLState

            String SQLState

      - #### vendorCode

            int vendorCode

  - ### Class java.sql.SQLFeatureNotSupportedException extends SQLNonTransientException implements Serializable

    serialVersionUID:
      -1026510870282316051L

  - ### Class java.sql.SQLIntegrityConstraintViolationException extends SQLNonTransientException implements Serializable

    serialVersionUID:
      8033405298774849169L

  - ### Class java.sql.SQLInvalidAuthorizationSpecException extends SQLNonTransientException implements Serializable

    serialVersionUID:
      -64105250450891498L

  - ### Class java.sql.SQLNonTransientConnectionException extends SQLNonTransientException implements Serializable

    serialVersionUID:
      -5852318857474782892L

  - ### Class java.sql.SQLNonTransientException extends SQLException implements Serializable

    serialVersionUID:
      -9104382843534716547L

  - ### Class java.sql.SQLPermission extends BasicPermission implements Serializable

    serialVersionUID:
      -1439323187199563495L

  - ### Class java.sql.SQLRecoverableException extends SQLException implements Serializable

    serialVersionUID:
      -4144386502923131579L

  - ### Class java.sql.SQLSyntaxErrorException extends SQLNonTransientException implements Serializable

    serialVersionUID:
      -1843832610477496053L

  - ### Class java.sql.SQLTimeoutException extends SQLTransientException implements Serializable

    serialVersionUID:
      -4487171280562520262L

  - ### Class java.sql.SQLTransactionRollbackException extends SQLTransientException implements Serializable

    serialVersionUID:
      5246680841170837229L

  - ### Class java.sql.SQLTransientConnectionException extends SQLTransientException implements Serializable

    serialVersionUID:
      -2520155553543391200L

  - ### Class java.sql.SQLTransientException extends SQLException implements Serializable

    serialVersionUID:
      -9042733978262274539L

  - ### Class java.sql.SQLWarning extends SQLException implements Serializable

    serialVersionUID:
      3917336774604784856L

  - ### Class java.sql.Time extends Date implements Serializable

    serialVersionUID:
      8397324403548013681L

  - ### Class java.sql.Timestamp extends Date implements Serializable

    serialVersionUID:
      2745179027874758501L

    - ### Serialized Fields

      - #### nanos

            int nanos

- ## Package java.text

  - ### Class java.text.AttributedCharacterIterator.Attribute extends Object implements Serializable

    serialVersionUID:
      -9142742483513960612L

    - ### Serialization Methods

      - #### readResolve

            protected Object readResolve​()
                                  throws InvalidObjectException

        Resolves instances being deserialized to the predefined constants.
        Throws:
          `InvalidObjectException` - if the object to resolve is not an instance of `Attribute`

    - ### Serialized Fields

      - #### name

            String name

        The name of this `Attribute`. The name is used primarily by `readResolve` to look up the corresponding predefined instance when deserializing an instance.

  - ### Class java.text.ChoiceFormat extends NumberFormat implements Serializable

    serialVersionUID:
      1795184449645032964L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        After reading an object from the input stream, do a simple verification to maintain class invariants.
        Throws:
          `InvalidObjectException` - if the objects read from the stream is invalid.
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### choiceFormats

            String[] choiceFormats

        A list of choice strings. The formatter will return `choiceFormats[i]` if the number being formatted is greater than or equal to `choiceLimits[i]` and less than `choiceLimits[i+1]`.

      - #### choiceLimits

            double[] choiceLimits

        A list of lower bounds for the choices. The formatter will return `choiceFormats[i]` if the number being formatted is greater than or equal to `choiceLimits[i]` and less than `choiceLimits[i+1]`.

  - ### Class java.text.DateFormat extends Format implements Serializable

    serialVersionUID:
      7218322306649953788L

    - ### Serialized Fields

      - #### calendar

            Calendar calendar

        The `Calendar` instance used for calculating the date-time fields and the instant of time. This field is used for both formatting and parsing.

        Subclasses should initialize this field to a `Calendar` appropriate for the `Locale` associated with this `DateFormat`.

      - #### numberFormat

            NumberFormat numberFormat

        The number formatter that `DateFormat` uses to format numbers in dates and times. Subclasses should initialize this to a number format appropriate for the locale associated with this `DateFormat`.

  - ### Class java.text.DateFormat.Field extends Format.Field implements Serializable

    serialVersionUID:
      7441350119349544720L

    - ### Serialization Methods

      - #### readResolve

            protected Object readResolve​()
                                  throws InvalidObjectException

        Resolves instances being deserialized to the predefined constants.
        Throws:
          `InvalidObjectException` - if the constant could not be resolved.

    - ### Serialized Fields

      - #### calendarField

            int calendarField

        Calendar field.

  - ### Class java.text.DateFormatSymbols extends Object implements Serializable

    serialVersionUID:
      -5987973545549424702L

    - ### Serialization Methods

      - #### writeObject

            private void writeObject​(ObjectOutputStream stream)
                              throws IOException

        Write out the default serializable data, after ensuring the `zoneStrings` field is initialized in order to make sure the backward compatibility.
        Throws:
          `IOException`
        Since:
          1.6

    - ### Serialized Fields

      - #### ampms

            String[] ampms

        AM and PM strings. For example: "AM" and "PM". An array of 2 strings, indexed by `Calendar.AM` and `Calendar.PM`.

      - #### eras

            String[] eras

        Era strings. For example: "AD" and "BC". An array of 2 strings, indexed by `Calendar.BC` and `Calendar.AD`.

      - #### locale

            Locale locale

        The locale which is used for initializing this DateFormatSymbols object.
        Since:
          1.6

      - #### localPatternChars

            String localPatternChars

        Localized date-time pattern characters. For example, a locale may wish to use 'u' rather than 'y' to represent years in its date format pattern strings. This string must be exactly 18 characters long, with the index of the characters described by `DateFormat.ERA_FIELD`, `DateFormat.YEAR_FIELD`, etc. Thus, if the string were "Xz...", then localized patterns would use 'X' for era and 'z' for year.

      - #### months

            String[] months

        Month strings. For example: "January", "February", etc. An array of 13 strings (some calendars have 13 months), indexed by `Calendar.JANUARY`, `Calendar.FEBRUARY`, etc.

      - #### shortMonths

            String[] shortMonths

        Short month strings. For example: "Jan", "Feb", etc. An array of 13 strings (some calendars have 13 months), indexed by `Calendar.JANUARY`, `Calendar.FEBRUARY`, etc.

      - #### shortWeekdays

            String[] shortWeekdays

        Short weekday strings. For example: "Sun", "Mon", etc. An array of 8 strings, indexed by `Calendar.SUNDAY`, `Calendar.MONDAY`, etc. The element `shortWeekdays[0]` is ignored.

      - #### weekdays

            String[] weekdays

        Weekday strings. For example: "Sunday", "Monday", etc. An array of 8 strings, indexed by `Calendar.SUNDAY`, `Calendar.MONDAY`, etc. The element `weekdays[0]` is ignored.

      - #### zoneStrings

            String[][] zoneStrings

        Localized names of time zones in this locale. This is a two-dimensional array of strings of size n by m, where m is at least 5. Each of the n rows is an entry containing the localized names for a single `TimeZone`. Each such row contains (with `i` ranging from 0..n-1):
        - `zoneStrings[i][0]` - time zone ID
        - `zoneStrings[i][1]` - long name of zone in standard time
        - `zoneStrings[i][2]` - short name of zone in standard time
        - `zoneStrings[i][3]` - long name of zone in daylight saving time
        - `zoneStrings[i][4]` - short name of zone in daylight saving time
        The zone ID is not localized; it's one of the valid IDs of the `TimeZone` class that are not custom IDs. All other entries are localized names.
        See Also:
          `TimeZone`

  - ### Class java.text.DecimalFormat extends NumberFormat implements Serializable

    serialVersionUID:
      864413376551465018L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream stream)
                             throws IOException,
                                    ClassNotFoundException

        Reads the default serializable fields from the stream and performs validations and adjustments for older serialized versions. The validations and adjustments are:
        1. Verify that the superclass's digit count fields correctly reflect the limits imposed on formatting numbers other than `BigInteger` and `BigDecimal` objects. These limits are stored in the superclass for serialization compatibility with older versions, while the limits for `BigInteger` and `BigDecimal` objects are kept in this class. If, in the superclass, the minimum or maximum integer digit count is larger than `DOUBLE_INTEGER_DIGITS` or if the minimum or maximum fraction digit count is larger than `DOUBLE_FRACTION_DIGITS`, then the stream data is invalid and this method throws an `InvalidObjectException`.
        2. If `serialVersionOnStream` is less than 4, initialize `roundingMode` to `RoundingMode.HALF_EVEN`. This field is new with version 4.
        3. If `serialVersionOnStream` is less than 3, then call the setters for the minimum and maximum integer and fraction digits with the values of the corresponding superclass getters to initialize the fields in this class. The fields in this class are new with version 3.
        4. If `serialVersionOnStream` is less than 1, indicating that the stream was written by JDK 1.1, initialize `useExponentialNotation` to false, since it was not present in JDK 1.1.
        5. Set `serialVersionOnStream` to the maximum allowed value so that default serialization will work properly if this object is streamed out again.

        Stream versions older than 2 will not have the affix pattern variables `posPrefixPattern` etc. As a result, they will be initialized to `null`, which means the affix strings will be taken as literal values. This is exactly what we want, since that corresponds to the pre-version-2 behavior.

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### decimalSeparatorAlwaysShown

            boolean decimalSeparatorAlwaysShown

        If true, forces the decimal separator to always appear in a formatted number, even if the fractional part of the number is zero.
        See Also:
          `DecimalFormat.isDecimalSeparatorAlwaysShown()`

      - #### groupingSize

            byte groupingSize

        The number of digits between grouping separators in the integer portion of a number. Must be greater than 0 if `NumberFormat.groupingUsed` is true.
        See Also:
          `DecimalFormat.getGroupingSize()`, `NumberFormat.isGroupingUsed()`

      - #### maximumFractionDigits

            int maximumFractionDigits

        The maximum number of digits allowed in the fractional portion of a `BigInteger` or `BigDecimal` number. `maximumFractionDigits` must be greater than or equal to `minimumFractionDigits`.
        Since:
          1.5
        See Also:
          `DecimalFormat.getMaximumFractionDigits()`

      - #### maximumIntegerDigits

            int maximumIntegerDigits

        The maximum number of digits allowed in the integer portion of a `BigInteger` or `BigDecimal` number. `maximumIntegerDigits` must be greater than or equal to `minimumIntegerDigits`.
        Since:
          1.5
        See Also:
          `DecimalFormat.getMaximumIntegerDigits()`

      - #### minExponentDigits

            byte minExponentDigits

        The minimum number of digits used to display the exponent when a number is formatted in exponential notation. This field is ignored if `useExponentialNotation` is not true.
        Since:
          1.2

      - #### minimumFractionDigits

            int minimumFractionDigits

        The minimum number of digits allowed in the fractional portion of a `BigInteger` or `BigDecimal` number. `minimumFractionDigits` must be less than or equal to `maximumFractionDigits`.
        Since:
          1.5
        See Also:
          `DecimalFormat.getMinimumFractionDigits()`

      - #### minimumIntegerDigits

            int minimumIntegerDigits

        The minimum number of digits allowed in the integer portion of a `BigInteger` or `BigDecimal` number. `minimumIntegerDigits` must be less than or equal to `maximumIntegerDigits`.
        Since:
          1.5
        See Also:
          `DecimalFormat.getMinimumIntegerDigits()`

      - #### multiplier

            int multiplier

        The multiplier for use in percent, per mille, etc.
        See Also:
          `DecimalFormat.getMultiplier()`

      - #### negativePrefix

            String negativePrefix

        The symbol used as a prefix when formatting negative numbers, e.g. "-".
        See Also:
          `DecimalFormat.getNegativePrefix()`

      - #### negativeSuffix

            String negativeSuffix

        The symbol used as a suffix when formatting negative numbers. This is often an empty string.
        See Also:
          `DecimalFormat.getNegativeSuffix()`

      - #### negPrefixPattern

            String negPrefixPattern

        The prefix pattern for negative numbers. This variable corresponds to `negativePrefix`. This variable is analogous to `posPrefixPattern`; see that variable for further documentation.
        Since:
          1.3

      - #### negSuffixPattern

            String negSuffixPattern

        The suffix pattern for negative numbers. This variable corresponds to `negativeSuffix`. This variable is analogous to `posPrefixPattern`; see that variable for further documentation.
        Since:
          1.3

      - #### parseBigDecimal

            boolean parseBigDecimal

        If true, parse returns BigDecimal wherever possible.
        Since:
          1.5
        See Also:
          `DecimalFormat.isParseBigDecimal()`

      - #### positivePrefix

            String positivePrefix

        The symbol used as a prefix when formatting positive numbers, e.g. "+".
        See Also:
          `DecimalFormat.getPositivePrefix()`

      - #### positiveSuffix

            String positiveSuffix

        The symbol used as a suffix when formatting positive numbers. This is often an empty string.
        See Also:
          `DecimalFormat.getPositiveSuffix()`

      - #### posPrefixPattern

            String posPrefixPattern

        The prefix pattern for non-negative numbers. This variable corresponds to `positivePrefix`.

        This pattern is expanded by the method `expandAffix()` to `positivePrefix` to update the latter to reflect changes in `symbols`. If this variable is `null` then `positivePrefix` is taken as a literal value that does not change when `symbols` changes. This variable is always `null` for `DecimalFormat` objects older than stream version 2 restored from stream.

        Since:
          1.3

      - #### posSuffixPattern

            String posSuffixPattern

        The suffix pattern for non-negative numbers. This variable corresponds to `positiveSuffix`. This variable is analogous to `posPrefixPattern`; see that variable for further documentation.
        Since:
          1.3

      - #### roundingMode

            RoundingMode roundingMode

        The `RoundingMode` used in this DecimalFormat.
        Since:
          1.6

      - #### serialVersionOnStream

            int serialVersionOnStream

        The internal serial version which says which version was written. Possible values are:
        - 0 (default): versions before the Java 2 platform v1.2
        - 1: version for 1.2, which includes the two new fields `useExponentialNotation` and `minExponentDigits`.
        - 2: version for 1.3 and later, which adds four new fields: `posPrefixPattern`, `posSuffixPattern`, `negPrefixPattern`, and `negSuffixPattern`.
        - 3: version for 1.5 and later, which adds five new fields: `maximumIntegerDigits`, `minimumIntegerDigits`, `maximumFractionDigits`, `minimumFractionDigits`, and `parseBigDecimal`.
        - 4: version for 1.6 and later, which adds one new field: `roundingMode`.
        Since:
          1.2

      - #### symbols

            DecimalFormatSymbols symbols

        The `DecimalFormatSymbols` object used by this format. It contains the symbols used to format numbers, e.g. the grouping separator, decimal separator, and so on.
        See Also:
          `DecimalFormat.setDecimalFormatSymbols(java.text.DecimalFormatSymbols)`, `DecimalFormatSymbols`

      - #### useExponentialNotation

            boolean useExponentialNotation

        True to force the use of exponential (i.e. scientific) notation when formatting numbers.
        Since:
          1.2

  - ### Class java.text.DecimalFormatSymbols extends Object implements Serializable

    serialVersionUID:
      5772796243397350300L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream stream)
                             throws IOException,
                                    ClassNotFoundException

        Reads the default serializable fields, provides default values for objects in older serial versions, and initializes non-serializable fields. If `serialVersionOnStream` is less than 1, initializes `monetarySeparator` to be the same as `decimalSeparator` and `exponential` to be 'E'. If `serialVersionOnStream` is less than 2, initializes `locale`to the root locale, and initializes If `serialVersionOnStream` is less than 3, it initializes `exponentialSeparator` using `exponential`. Sets `serialVersionOnStream` back to the maximum allowed value so that default serialization will work properly if this object is streamed out again. Initializes the currency from the intlCurrencySymbol field.
        Throws:
          `IOException`
          `ClassNotFoundException`
        Since:
          1.1.6

    - ### Serialized Fields

      - #### currencySymbol

            String currencySymbol

        String denoting the local currency, e.g. "$".
        See Also:
          `DecimalFormatSymbols.getCurrencySymbol()`

      - #### decimalSeparator

            char decimalSeparator

        Character used for decimal sign.
        See Also:
          `DecimalFormatSymbols.getDecimalSeparator()`

      - #### digit

            char digit

        Character used for a digit in a pattern.
        See Also:
          `DecimalFormatSymbols.getDigit()`

      - #### exponential

            char exponential

        The character used to distinguish the exponent in a number formatted in exponential notation, e.g. 'E' for a number such as "1.23E45".

        Note that the public API provides no way to set this field, even though it is supported by the implementation and the stream format. The intent is that this will be added to the API in the future.

        Since:
          1.1.6

      - #### exponentialSeparator

            String exponentialSeparator

        The string used to separate the mantissa from the exponent. Examples: "x10^" for 1.23x10^4, "E" for 1.23E4.

        If both `exponential` and `exponentialSeparator` exist, this `exponentialSeparator` has the precedence.

        Since:
          1.6

      - #### groupingSeparator

            char groupingSeparator

        Character used for thousands separator.
        See Also:
          `DecimalFormatSymbols.getGroupingSeparator()`

      - #### infinity

            String infinity

        String used to represent infinity.
        See Also:
          `DecimalFormatSymbols.getInfinity()`

      - #### intlCurrencySymbol

            String intlCurrencySymbol

        ISO 4217 currency code denoting the local currency, e.g. "USD".
        See Also:
          `DecimalFormatSymbols.getInternationalCurrencySymbol()`

      - #### locale

            Locale locale

        The locale of these currency format symbols.
        Since:
          1.4

      - #### minusSign

            char minusSign

        Character used to represent minus sign.
        See Also:
          `DecimalFormatSymbols.getMinusSign()`

      - #### monetarySeparator

            char monetarySeparator

        The decimal separator used when formatting currency values.
        Since:
          1.1.6
        See Also:
          `DecimalFormatSymbols.getMonetaryDecimalSeparator()`

      - #### NaN

            String NaN

        String used to represent "not a number".
        See Also:
          `DecimalFormatSymbols.getNaN()`

      - #### patternSeparator

            char patternSeparator

        Character used to separate positive and negative subpatterns in a pattern.
        See Also:
          `DecimalFormatSymbols.getPatternSeparator()`

      - #### percent

            char percent

        Character used for percent sign.
        See Also:
          `DecimalFormatSymbols.getPercent()`

      - #### perMill

            char perMill

        Character used for per mille sign.
        See Also:
          `DecimalFormatSymbols.getPerMill()`

      - #### serialVersionOnStream

            int serialVersionOnStream

        Describes the version of `DecimalFormatSymbols` present on the stream. Possible values are:
        - 0 (or uninitialized): versions prior to JDK 1.1.6.
        - 1: Versions written by JDK 1.1.6 or later, which include two new fields: `monetarySeparator` and `exponential`.
        - 2: Versions written by J2SE 1.4 or later, which include a new `locale` field.
        - 3: Versions written by J2SE 1.6 or later, which include a new `exponentialSeparator` field.
        When streaming out a `DecimalFormatSymbols`, the most recent format (corresponding to the highest allowable `serialVersionOnStream`) is always written.
        Since:
          1.1.6

      - #### zeroDigit

            char zeroDigit

        Character used for zero.
        See Also:
          `DecimalFormatSymbols.getZeroDigit()`

  - ### Class java.text.Format extends Object implements Serializable

    serialVersionUID:
      -299282585814624189L

  - ### Class java.text.Format.Field extends AttributedCharacterIterator.Attribute implements Serializable

    serialVersionUID:
      276966692217360283L

  - ### Class java.text.MessageFormat extends Format implements Serializable

    serialVersionUID:
      6479157306784022952L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        After reading an object from the input stream, do a simple verification to maintain class invariants.
        Throws:
          `InvalidObjectException` - if the objects read from the stream is invalid.
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### argumentNumbers

            int[] argumentNumbers

        The argument numbers corresponding to each formatter. (The formatters are stored in the order they occur in the pattern, not in the order in which the arguments are specified.)

      - #### formats

            Format[] formats

        An array of formatters, which are used to format the arguments.

      - #### locale

            Locale locale

        The locale to use for formatting numbers and dates.

      - #### maxOffset

            int maxOffset

        One less than the number of entries in `offsets`. Can also be thought of as the index of the highest-numbered element in `offsets` that is being used. All of these arrays should have the same number of elements being used as `offsets` does, and so this variable suffices to tell us how many entries are in all of them.

      - #### offsets

            int[] offsets

        The positions where the results of formatting each argument are to be inserted into the pattern.

      - #### pattern

            String pattern

        The string that the formatted values are to be plugged into. In other words, this is the pattern supplied on construction with all of the {} expressions taken out.

  - ### Class java.text.MessageFormat.Field extends Format.Field implements Serializable

    serialVersionUID:
      7899943957617360810L

    - ### Serialization Methods

      - #### readResolve

            protected Object readResolve​()
                                  throws InvalidObjectException

        Resolves instances being deserialized to the predefined constants.
        Throws:
          `InvalidObjectException` - if the constant could not be resolved.

  - ### Class java.text.NumberFormat extends Format implements Serializable

    serialVersionUID:
      -2308460125733713944L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream stream)
                             throws IOException,
                                    ClassNotFoundException

        First, read in the default serializable data. Then, if `serialVersionOnStream` is less than 1, indicating that the stream was written by JDK 1.1, set the `int` fields such as `maximumIntegerDigits` to be equal to the `byte` fields such as `maxIntegerDigits`, since the `int` fields were not present in JDK 1.1. Finally, set serialVersionOnStream back to the maximum allowed value so that default serialization will work properly if this object is streamed out again.

        If `minimumIntegerDigits` is greater than `maximumIntegerDigits` or `minimumFractionDigits` is greater than `maximumFractionDigits`, then the stream data is invalid and this method throws an `InvalidObjectException`. In addition, if any of these values is negative, then this method throws an `InvalidObjectException`.

        Throws:
          `IOException`
          `ClassNotFoundException`
        Since:
          1.2

      - #### writeObject

            private void writeObject​(ObjectOutputStream stream)
                              throws IOException

        Write out the default serializable data, after first setting the `byte` fields such as `maxIntegerDigits` to be equal to the `int` fields such as `maximumIntegerDigits` (or to `Byte.MAX_VALUE`, whichever is smaller), for compatibility with the JDK 1.1 version of the stream format.
        Throws:
          `IOException`
        Since:
          1.2

    - ### Serialized Fields

      - #### groupingUsed

            boolean groupingUsed

        True if the grouping (i.e. thousands) separator is used when formatting and parsing numbers.
        See Also:
          `NumberFormat.isGroupingUsed()`

      - #### maxFractionDigits

            byte maxFractionDigits

        The maximum number of digits allowed in the fractional portion of a number. `maximumFractionDigits` must be greater than or equal to `minimumFractionDigits`.

        Note: This field exists only for serialization compatibility with JDK 1.1. In Java platform 2 v1.2 and higher, the new `int` field `maximumFractionDigits` is used instead. When writing to a stream, `maxFractionDigits` is set to `maximumFractionDigits` or `Byte.MAX_VALUE`, whichever is smaller. When reading from a stream, this field is used only if `serialVersionOnStream` is less than 1.

        See Also:
          `NumberFormat.getMaximumFractionDigits()`

      - #### maximumFractionDigits

            int maximumFractionDigits

        The maximum number of digits allowed in the fractional portion of a number. `maximumFractionDigits` must be greater than or equal to `minimumFractionDigits`.
        Since:
          1.2
        See Also:
          `NumberFormat.getMaximumFractionDigits()`

      - #### maximumIntegerDigits

            int maximumIntegerDigits

        The maximum number of digits allowed in the integer portion of a number. `maximumIntegerDigits` must be greater than or equal to `minimumIntegerDigits`.
        Since:
          1.2
        See Also:
          `NumberFormat.getMaximumIntegerDigits()`

      - #### maxIntegerDigits

            byte maxIntegerDigits

        The maximum number of digits allowed in the integer portion of a number. `maxIntegerDigits` must be greater than or equal to `minIntegerDigits`.

        Note: This field exists only for serialization compatibility with JDK 1.1. In Java platform 2 v1.2 and higher, the new `int` field `maximumIntegerDigits` is used instead. When writing to a stream, `maxIntegerDigits` is set to `maximumIntegerDigits` or `Byte.MAX_VALUE`, whichever is smaller. When reading from a stream, this field is used only if `serialVersionOnStream` is less than 1.

        See Also:
          `NumberFormat.getMaximumIntegerDigits()`

      - #### minFractionDigits

            byte minFractionDigits

        The minimum number of digits allowed in the fractional portion of a number. `minimumFractionDigits` must be less than or equal to `maximumFractionDigits`.

        Note: This field exists only for serialization compatibility with JDK 1.1. In Java platform 2 v1.2 and higher, the new `int` field `minimumFractionDigits` is used instead. When writing to a stream, `minFractionDigits` is set to `minimumFractionDigits` or `Byte.MAX_VALUE`, whichever is smaller. When reading from a stream, this field is used only if `serialVersionOnStream` is less than 1.

        See Also:
          `NumberFormat.getMinimumFractionDigits()`

      - #### minimumFractionDigits

            int minimumFractionDigits

        The minimum number of digits allowed in the fractional portion of a number. `minimumFractionDigits` must be less than or equal to `maximumFractionDigits`.
        Since:
          1.2
        See Also:
          `NumberFormat.getMinimumFractionDigits()`

      - #### minimumIntegerDigits

            int minimumIntegerDigits

        The minimum number of digits allowed in the integer portion of a number. `minimumIntegerDigits` must be less than or equal to `maximumIntegerDigits`.
        Since:
          1.2
        See Also:
          `NumberFormat.getMinimumIntegerDigits()`

      - #### minIntegerDigits

            byte minIntegerDigits

        The minimum number of digits allowed in the integer portion of a number. `minimumIntegerDigits` must be less than or equal to `maximumIntegerDigits`.

        Note: This field exists only for serialization compatibility with JDK 1.1. In Java platform 2 v1.2 and higher, the new `int` field `minimumIntegerDigits` is used instead. When writing to a stream, `minIntegerDigits` is set to `minimumIntegerDigits` or `Byte.MAX_VALUE`, whichever is smaller. When reading from a stream, this field is used only if `serialVersionOnStream` is less than 1.

        See Also:
          `NumberFormat.getMinimumIntegerDigits()`

      - #### parseIntegerOnly

            boolean parseIntegerOnly

        True if this format will parse numbers as integers only.
        See Also:
          `NumberFormat.isParseIntegerOnly()`

      - #### serialVersionOnStream

            int serialVersionOnStream

        Describes the version of `NumberFormat` present on the stream. Possible values are:
        - 0 (or uninitialized): the JDK 1.1 version of the stream format. In this version, the `int` fields such as `maximumIntegerDigits` were not present, and the `byte` fields such as `maxIntegerDigits` are used instead.
        - 1: the 1.2 version of the stream format. The values of the `byte` fields such as `maxIntegerDigits` are ignored, and the `int` fields such as `maximumIntegerDigits` are used instead.
        When streaming out a `NumberFormat`, the most recent format (corresponding to the highest allowable `serialVersionOnStream`) is always written.
        Since:
          1.2

  - ### Class java.text.NumberFormat.Field extends Format.Field implements Serializable

    serialVersionUID:
      7494728892700160890L

    - ### Serialization Methods

      - #### readResolve

            protected Object readResolve​()
                                  throws InvalidObjectException

        Resolves instances being deserialized to the predefined constants.
        Throws:
          `InvalidObjectException` - if the constant could not be resolved.

  - ### Class java.text.ParseException extends Exception implements Serializable

    serialVersionUID:
      2703218443322787634L

    - ### Serialized Fields

      - #### errorOffset

            int errorOffset

        The zero-based character offset into the string being parsed at which the error was found during parsing.

  - ### Class java.text.SimpleDateFormat extends DateFormat implements Serializable

    serialVersionUID:
      4774881970558875024L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream stream)
                             throws IOException,
                                    ClassNotFoundException

        After reading an object from the input stream, the format pattern in the object is verified.
        Throws:
          `InvalidObjectException` - if the pattern is invalid
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### defaultCenturyStart

            Date defaultCenturyStart

        We map dates with two-digit years into the century starting at `defaultCenturyStart`, which may be any date. May not be null.
        Since:
          1.1.4

      - #### formatData

            DateFormatSymbols formatData

        The symbols used by this formatter for week names, month names, etc. May not be null.
        See Also:
          `DateFormatSymbols`

      - #### locale

            Locale locale

        The Locale used to instantiate this `SimpleDateFormat`. The value may be null if this object has been created by an older `SimpleDateFormat` and deserialized.
        Since:
          1.6

      - #### pattern

            String pattern

        The pattern string of this formatter. This is always a non-localized pattern. May not be null. See class documentation for details.

      - #### serialVersionOnStream

            int serialVersionOnStream

        The version of the serialized data on the stream. Possible values:
        - 0 or not present on stream: JDK 1.1.3. This version has no `defaultCenturyStart` on stream.
        - 1 JDK 1.1.4 or later. This version adds `defaultCenturyStart`.
        When streaming out this class, the most recent format and the highest allowable `serialVersionOnStream` is written.
        Since:
          1.1.4

- ## Package java.time

  - ### Class java.time.DateTimeException extends RuntimeException implements Serializable

    serialVersionUID:
      -1632418723876261839L

  - ### Class java.time.Duration extends Object implements Serializable

    serialVersionUID:
      3078945930695997490L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(1);  // identifies a Duration
                out.writeLong(seconds);
                out.writeInt(nanos);

    - ### Serialized Fields

      - #### nanos

            int nanos

        The number of nanoseconds in the duration, expressed as a fraction of the number of seconds. This is always positive, and never exceeds 999,999,999.

      - #### seconds

            long seconds

        The number of seconds in the duration.

  - ### Class java.time.Instant extends Object implements Serializable

    serialVersionUID:
      -665713676816604388L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(2);  // identifies an Instant
                out.writeLong(seconds);
                out.writeInt(nanos);

    - ### Serialized Fields

      - #### nanos

            int nanos

        The number of nanoseconds, later along the time-line, from the seconds field. This is always positive, and never exceeds 999,999,999.

      - #### seconds

            long seconds

        The number of seconds from the epoch of 1970-01-01T00:00:00Z.

  - ### Class java.time.LocalDate extends Object implements Serializable

    serialVersionUID:
      2942565459149668126L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(3);  // identifies a LocalDate
                out.writeInt(year);
                out.writeByte(month);
                out.writeByte(day);

    - ### Serialized Fields

      - #### day

            short day

        The day-of-month.

      - #### month

            short month

        The month-of-year.

      - #### year

            int year

        The year.

  - ### Class java.time.LocalDateTime extends Object implements Serializable

    serialVersionUID:
      6207766400415563566L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(5);  // identifies a LocalDateTime
                // the date excluding the one byte header
                // the time excluding the one byte header

    - ### Serialized Fields

      - #### date

            LocalDate date

        The date part.

      - #### time

            LocalTime time

        The time part.

  - ### Class java.time.LocalTime extends Object implements Serializable

    serialVersionUID:
      6414437269572265201L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:
          A twos-complement value indicates the remaining values are not in the stream and should be set to zero.

                out.writeByte(4);  // identifies a LocalTime
                if (nano == 0) {
                  if (second == 0) {
                    if (minute == 0) {
                      out.writeByte(~hour);
                    } else {
                      out.writeByte(hour);
                      out.writeByte(~minute);
                    }
                  } else {
                    out.writeByte(hour);
                    out.writeByte(minute);
                    out.writeByte(~second);
                  }
                } else {
                  out.writeByte(hour);
                  out.writeByte(minute);
                  out.writeByte(second);
                  out.writeInt(nano);
                }

    - ### Serialized Fields

      - #### hour

            byte hour

        The hour.

      - #### minute

            byte minute

        The minute.

      - #### nano

            int nano

        The nanosecond.

      - #### second

            byte second

        The second.

  - ### Class java.time.MonthDay extends Object implements Serializable

    serialVersionUID:
      -939150713474957432L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(13);  // identifies a MonthDay
                out.writeByte(month);
                out.writeByte(day);

    - ### Serialized Fields

      - #### day

            int day

        The day-of-month.

      - #### month

            int month

        The month-of-year, not null.

  - ### Class java.time.OffsetDateTime extends Object implements Serializable

    serialVersionUID:
      2287754244819255394L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(10);  // identifies an OffsetDateTime
                // the datetime excluding the one byte header
                // the offset excluding the one byte header

    - ### Serialized Fields

      - #### dateTime

            LocalDateTime dateTime

        The local date-time.

      - #### offset

            ZoneOffset offset

        The offset from UTC/Greenwich.

  - ### Class java.time.OffsetTime extends Object implements Serializable

    serialVersionUID:
      7264499704384272492L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(9);  // identifies an OffsetTime
                // the time excluding the one byte header
                // the offset excluding the one byte header

    - ### Serialized Fields

      - #### offset

            ZoneOffset offset

        The offset from UTC/Greenwich.

      - #### time

            LocalTime time

        The local date-time.

  - ### Class java.time.Period extends Object implements Serializable

    serialVersionUID:
      -3587258372562876L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(14);  // identifies a Period
                out.writeInt(years);
                out.writeInt(months);
                out.writeInt(days);

    - ### Serialized Fields

      - #### days

            int days

        The number of days.

      - #### months

            int months

        The number of months.

      - #### years

            int years

        The number of years.

  - ### Class java.time.Ser extends Object implements Serializable

    serialVersionUID:
      -7683839454370182990L

    - ### Serialization Methods

      - #### readExternal

            public void readExternal​(ObjectInput in)
                              throws IOException,
                                     ClassNotFoundException

        Implements the `Externalizable` interface to read the object.
        Serial Data:
          The streamed type and parameters defined by the type's `writeReplace` method are read and passed to the corresponding static factory for the type to create a new instance. That instance is returned as the de-serialized `Ser` object.
          - Duration - `Duration.ofSeconds(seconds, nanos);`
          - Instant - `Instant.ofEpochSecond(seconds, nanos);`
          - LocalDate - `LocalDate.of(year, month, day);`
          - LocalDateTime - `LocalDateTime.of(date, time);`
          - LocalTime - `LocalTime.of(hour, minute, second, nano);`
          - MonthDay - `MonthDay.of(month, day);`
          - OffsetTime - `OffsetTime.of(time, offset);`
          - OffsetDateTime - `OffsetDateTime.of(dateTime, offset);`
          - Period - `Period.of(years, months, days);`
          - Year - `Year.of(year);`
          - YearMonth - `YearMonth.of(year, month);`
          - ZonedDateTime - `ZonedDateTime.ofLenient(dateTime, offset, zone);`
          - ZoneId - `ZoneId.of(id);`
          - ZoneOffset - `(offsetByte == 127 ? ZoneOffset.ofTotalSeconds(in.readInt()) : ZoneOffset.ofTotalSeconds(offsetByte * 900));`
        Throws:
          `IOException` - if I/O errors occur
          `ClassNotFoundException` - If the class for an object being restored cannot be found.

      - #### writeExternal

            public void writeExternal​(ObjectOutput out)
                               throws IOException

        Implements the `Externalizable` interface to write the object.
        Serial Data:
          Each serializable class is mapped to a type that is the first byte in the stream. Refer to each class `writeReplace` serialized form for the value of the type and sequence of values for the type.
          - Duration.writeReplace
          - Instant.writeReplace
          - LocalDate.writeReplace
          - LocalDateTime.writeReplace
          - LocalTime.writeReplace
          - MonthDay.writeReplace
          - OffsetTime.writeReplace
          - OffsetDateTime.writeReplace
          - Period.writeReplace
          - Year.writeReplace
          - YearMonth.writeReplace
          - ZoneId.writeReplace
          - ZoneOffset.writeReplace
          - ZonedDateTime.writeReplace
        Throws:
          `IOException` - Includes any I/O exceptions that may occur

  - ### Class java.time.Year extends Object implements Serializable

    serialVersionUID:
      -23038383694477807L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(11);  // identifies a Year
                out.writeInt(year);

    - ### Serialized Fields

      - #### year

            int year

        The year being represented.

  - ### Class java.time.YearMonth extends Object implements Serializable

    serialVersionUID:
      4183400860270640070L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(12);  // identifies a YearMonth
                out.writeInt(year);
                out.writeByte(month);

    - ### Serialized Fields

      - #### month

            int month

        The month-of-year, not null.

      - #### year

            int year

        The year.

  - ### Class java.time.ZonedDateTime extends Object implements Serializable

    serialVersionUID:
      -6260982410461394882L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(6);  // identifies a ZonedDateTime
                // the dateTime excluding the one byte header
                // the offset excluding the one byte header
                // the zone ID excluding the one byte header

    - ### Serialized Fields

      - #### dateTime

            LocalDateTime dateTime

        The local date-time.

      - #### offset

            ZoneOffset offset

        The offset from UTC/Greenwich.

      - #### zone

            ZoneId zone

        The time-zone.

  - ### Class java.time.ZoneId extends Object implements Serializable

    serialVersionUID:
      8352817235686L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(7);  // identifies a ZoneId (not ZoneOffset)
                out.writeUTF(getId());

          When read back in, the `ZoneId` will be created as though using `ZoneId.of(String)`, but without any exception in the case where the ID has a valid format, but is not in the known set of region-based IDs.

  - ### Class java.time.ZoneOffset extends ZoneId implements Serializable

    serialVersionUID:
      2357656521762053153L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(8);                  // identifies a ZoneOffset
                int offsetByte = totalSeconds % 900 == 0 ? totalSeconds / 900 : 127;
                out.writeByte(offsetByte);
                if (offsetByte == 127) {
                    out.writeInt(totalSeconds);
                }

    - ### Serialized Fields

      - #### totalSeconds

            int totalSeconds

        The total offset in seconds.

- ## Package java.time.chrono

  - ### Class java.time.chrono.ChronoLocalDateTimeImpl extends Object implements Serializable

    serialVersionUID:
      4556003607393004514L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the ChronoLocalDateTime using a dedicated serialized form.
        Serial Data:

                out.writeByte(2);              // identifies a ChronoLocalDateTime
                out.writeObject(toLocalDate());
                out.witeObject(toLocalTime());

  - ### Class java.time.chrono.ChronoZonedDateTimeImpl extends Object implements Serializable

    serialVersionUID:
      -5261813987200935591L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the ChronoZonedDateTime using a dedicated serialized form.
        Serial Data:

                out.writeByte(3);                  // identifies a ChronoZonedDateTime
                out.writeObject(toLocalDateTime());
                out.writeObject(getOffset());
                out.writeObject(getZone());

  - ### Class java.time.chrono.HijrahChronology extends AbstractChronology implements Serializable

    serialVersionUID:
      3127340209035924785L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            Object writeReplace​()

        Writes the Chronology using a dedicated serialized form.
        Serial Data:

                out.writeByte(1);     // identifies a Chronology
                out.writeUTF(getId());

  - ### Class java.time.chrono.HijrahDate extends java.time.chrono.ChronoLocalDateImpl<HijrahDate> implements Serializable

    serialVersionUID:
      -5207853542612002020L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(6);                 // identifies a HijrahDate
                out.writeObject(chrono);          // the HijrahChronology variant
                out.writeInt(get(YEAR));
                out.writeByte(get(MONTH_OF_YEAR));
                out.writeByte(get(DAY_OF_MONTH));

  - ### Class java.time.chrono.IsoChronology extends AbstractChronology implements Serializable

    serialVersionUID:
      -1440403870442975015L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            Object writeReplace​()

        Writes the Chronology using a dedicated serialized form.
        Serial Data:

                out.writeByte(1);     // identifies a Chronology
                out.writeUTF(getId());

  - ### Class java.time.chrono.JapaneseChronology extends AbstractChronology implements Serializable

    serialVersionUID:
      459996390165777884L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            Object writeReplace​()

        Writes the Chronology using a dedicated serialized form.
        Serial Data:

                out.writeByte(1);     // identifies a Chronology
                out.writeUTF(getId());

  - ### Class java.time.chrono.JapaneseDate extends java.time.chrono.ChronoLocalDateImpl<JapaneseDate> implements Serializable

    serialVersionUID:
      -305327627230580483L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(4);                 // identifies a JapaneseDate
                out.writeInt(get(YEAR));
                out.writeByte(get(MONTH_OF_YEAR));
                out.writeByte(get(DAY_OF_MONTH));

  - ### Class java.time.chrono.JapaneseEra extends Object implements Serializable

    serialVersionUID:
      1466499369062886794L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(5);        // identifies a JapaneseEra
                out.writeInt(getValue());

  - ### Class java.time.chrono.MinguoChronology extends AbstractChronology implements Serializable

    serialVersionUID:
      1039765215346859963L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            Object writeReplace​()

        Writes the Chronology using a dedicated serialized form.
        Serial Data:

                out.writeByte(1);     // identifies a Chronology
                out.writeUTF(getId());

  - ### Class java.time.chrono.MinguoDate extends java.time.chrono.ChronoLocalDateImpl<MinguoDate> implements Serializable

    serialVersionUID:
      1300372329181994526L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(8);                 // identifies a MinguoDate
                out.writeInt(get(YEAR));
                out.writeByte(get(MONTH_OF_YEAR));
                out.writeByte(get(DAY_OF_MONTH));

  - ### Class java.time.chrono.Ser extends Object implements Serializable

    serialVersionUID:
      -6103370247208168577L

    - ### Serialization Methods

      - #### readExternal

            public void readExternal​(ObjectInput in)
                              throws IOException,
                                     ClassNotFoundException

        Implements the `Externalizable` interface to read the object.
        Serial Data:
          The streamed type and parameters defined by the type's `writeReplace` method are read and passed to the corresponding static factory for the type to create a new instance. That instance is returned as the de-serialized `Ser` object.
          - HijrahChronology - Chronology.of(id)
          - IsoChronology - Chronology.of(id)
          - JapaneseChronology - Chronology.of(id)
          - MinguoChronology - Chronology.of(id)
          - ThaiBuddhistChronology - Chronology.of(id)
          - ChronoLocalDateTime - date.atTime(time)
          - ChronoZonedDateTime - dateTime.atZone(offset).withZoneSameLocal(zone)
          - JapaneseDate - JapaneseChronology.INSTANCE.date(year, month, dayOfMonth)
          - JapaneseEra - JapaneseEra.of(eraValue)
          - HijrahDate - HijrahChronology chrono.date(year, month, dayOfMonth)
          - MinguoDate - MinguoChronology.INSTANCE.date(year, month, dayOfMonth)
          - ThaiBuddhistDate - ThaiBuddhistChronology.INSTANCE.date(year, month, dayOfMonth)
        Throws:
          `IOException` - if I/O errors occur
          `ClassNotFoundException` - If the class for an object being restored cannot be found.

      - #### writeExternal

            public void writeExternal​(ObjectOutput out)
                               throws IOException

        Implements the `Externalizable` interface to write the object.
        Serial Data:
          Each serializable class is mapped to a type that is the first byte in the stream. Refer to each class `writeReplace` serialized form for the value of the type and sequence of values for the type.
          - HijrahChronology.writeReplace
          - IsoChronology.writeReplace
          - JapaneseChronology.writeReplace
          - MinguoChronology.writeReplace
          - ThaiBuddhistChronology.writeReplace
          - ChronoLocalDateTime.writeReplace
          - ChronoZonedDateTime.writeReplace
          - JapaneseDate.writeReplace
          - JapaneseEra.writeReplace
          - HijrahDate.writeReplace
          - MinguoDate.writeReplace
          - ThaiBuddhistDate.writeReplace
        Throws:
          `IOException` - Includes any I/O exceptions that may occur

  - ### Class java.time.chrono.ThaiBuddhistChronology extends AbstractChronology implements Serializable

    serialVersionUID:
      2775954514031616474L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            Object writeReplace​()

        Writes the Chronology using a dedicated serialized form.
        Serial Data:

                out.writeByte(1);     // identifies a Chronology
                out.writeUTF(getId());

  - ### Class java.time.chrono.ThaiBuddhistDate extends java.time.chrono.ChronoLocalDateImpl<ThaiBuddhistDate> implements Serializable

    serialVersionUID:
      -8722293800195731463L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                out.writeByte(10);                // identifies a ThaiBuddhistDate
                out.writeInt(get(YEAR));
                out.writeByte(get(MONTH_OF_YEAR));
                out.writeByte(get(DAY_OF_MONTH));

- ## Package java.time.format

  - ### Class java.time.format.DateTimeParseException extends DateTimeException implements Serializable

    serialVersionUID:
      4304633501674722597L

    - ### Serialized Fields

      - #### errorIndex

            int errorIndex

        The error index in the text.

      - #### parsedString

            String parsedString

        The text that was being parsed.

- ## Package java.time.temporal

  - ### Class java.time.temporal.UnsupportedTemporalTypeException extends DateTimeException implements Serializable

    serialVersionUID:
      -6158898438688206006L

  - ### Class java.time.temporal.ValueRange extends Object implements Serializable

    serialVersionUID:
      -7317881728594519368L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException,
                                    InvalidObjectException

        Restore the state of an ValueRange from the stream. Check that the values are valid.
        Throws:
          `InvalidObjectException` - if the smallest minimum is greater than the smallest maximum, or the smallest maximum is greater than the largest maximum or the largest minimum is greater than the largest maximum
          `ClassNotFoundException` - if a class cannot be resolved
          `IOException`

    - ### Serialized Fields

      - #### maxLargest

            long maxLargest

        The largest maximum value.

      - #### maxSmallest

            long maxSmallest

        The smallest maximum value.

      - #### minLargest

            long minLargest

        The largest minimum value.

      - #### minSmallest

            long minSmallest

        The smallest minimum value.

  - ### Class java.time.temporal.WeekFields extends Object implements Serializable

    serialVersionUID:
      -1177360819670808121L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException,
                                    InvalidObjectException

        Restore the state of a WeekFields from the stream. Check that the values are valid.
        Throws:
          `InvalidObjectException` - if the serialized object has an invalid value for firstDayOfWeek or minimalDays.
          `ClassNotFoundException` - if a class cannot be resolved
          `IOException`

      - #### readResolve

            private Object readResolve​()
                                throws InvalidObjectException

        Return the singleton WeekFields associated with the `firstDayOfWeek` and `minimalDays`.
        Throws:
          `InvalidObjectException` - if the serialized object has invalid values for firstDayOfWeek or minimalDays.

    - ### Serialized Fields

      - #### firstDayOfWeek

            DayOfWeek firstDayOfWeek

        The first day-of-week.

      - #### minimalDays

            int minimalDays

        The minimal number of days in the first week.

- ## Package java.time.zone

  - ### Class java.time.zone.Ser extends Object implements Serializable

    serialVersionUID:
      -8885321777449118786L

    - ### Serialization Methods

      - #### readExternal

            public void readExternal​(ObjectInput in)
                              throws IOException,
                                     ClassNotFoundException

        Implements the `Externalizable` interface to read the object.
        Serial Data:
          The streamed type and parameters defined by the type's `writeReplace` method are read and passed to the corresponding static factory for the type to create a new instance. That instance is returned as the de-serialized `Ser` object.
          - ZoneRules - `ZoneRules.of(standardTransitions, standardOffsets, savingsInstantTransitions, wallOffsets, lastRules);`
          - ZoneOffsetTransition - `ZoneOffsetTransition of(LocalDateTime.ofEpochSecond(epochSecond), offsetBefore, offsetAfter);`
          - ZoneOffsetTransitionRule - `ZoneOffsetTransitionRule.of(month, dom, dow, time, timeEndOfDay, timeDefinition, standardOffset, offsetBefore, offsetAfter);`
        Throws:
          `IOException` - if I/O errors occur
          `ClassNotFoundException` - If the class for an object being restored cannot be found.

      - #### writeExternal

            public void writeExternal​(ObjectOutput out)
                               throws IOException

        Implements the `Externalizable` interface to write the object.
        Serial Data:
          Each serializable class is mapped to a type that is the first byte in the stream. Refer to each class `writeReplace` serialized form for the value of the type and sequence of values for the type.
          - ZoneRules.writeReplace
          - ZoneOffsetTransition.writeReplace
          - ZoneOffsetTransitionRule.writeReplace
        Throws:
          `IOException` - Includes any I/O exceptions that may occur

  - ### Class java.time.zone.ZoneOffsetTransition extends Object implements Serializable

    serialVersionUID:
      -6946044323557704546L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:
          Refer to the serialized form of ZoneRules.writeReplace for the encoding of epoch seconds and offsets.

                 out.writeByte(2);                // identifies a ZoneOffsetTransition
                 out.writeEpochSec(toEpochSecond);
                 out.writeOffset(offsetBefore);
                 out.writeOffset(offsetAfter);

    - ### Serialized Fields

      - #### epochSecond

            long epochSecond

        The transition epoch-second.

      - #### offsetAfter

            ZoneOffset offsetAfter

        The offset after transition.

      - #### offsetBefore

            ZoneOffset offsetBefore

        The offset before transition.

      - #### transition

            LocalDateTime transition

        The local transition date-time at the transition.

  - ### Class java.time.zone.ZoneOffsetTransitionRule extends Object implements Serializable

    serialVersionUID:
      6889046316657758795L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:
          Refer to the serialized form of ZoneRules.writeReplace for the encoding of epoch seconds and offsets.

                    out.writeByte(3);                // identifies a ZoneOffsetTransition
                    final int timeSecs = (timeEndOfDay ? 86400 : time.toSecondOfDay());
                    final int stdOffset = standardOffset.getTotalSeconds();
                    final int beforeDiff = offsetBefore.getTotalSeconds() - stdOffset;
                    final int afterDiff = offsetAfter.getTotalSeconds() - stdOffset;
                    final int timeByte = (timeSecs % 3600 == 0 ? (timeEndOfDay ? 24 : time.getHour()) : 31);
                    final int stdOffsetByte = (stdOffset % 900 == 0 ? stdOffset / 900 + 128 : 255);
                    final int beforeByte = (beforeDiff == 0 || beforeDiff == 1800 || beforeDiff == 3600 ? beforeDiff / 1800 : 3);
                    final int afterByte = (afterDiff == 0 || afterDiff == 1800 || afterDiff == 3600 ? afterDiff / 1800 : 3);
                    final int dowByte = (dow == null ? 0 : dow.getValue());
                    int b = (month.getValue() << 28) +          // 4 bits
                            ((dom + 32) << 22) +                // 6 bits
                            (dowByte << 19) +                   // 3 bits
                            (timeByte << 14) +                  // 5 bits
                            (timeDefinition.ordinal() << 12) +  // 2 bits
                            (stdOffsetByte << 4) +              // 8 bits
                            (beforeByte << 2) +                 // 2 bits
                            afterByte;                          // 2 bits
                    out.writeInt(b);
                    if (timeByte == 31) {
                        out.writeInt(timeSecs);
                    }
                    if (stdOffsetByte == 255) {
                        out.writeInt(stdOffset);
                    }
                    if (beforeByte == 3) {
                        out.writeInt(offsetBefore.getTotalSeconds());
                    }
                    if (afterByte == 3) {
                        out.writeInt(offsetAfter.getTotalSeconds());
                    }

    - ### Serialized Fields

      - #### dom

            byte dom

        The day-of-month of the month-day of the cutover week. If positive, it is the start of the week where the cutover can occur. If negative, it represents the end of the week where cutover can occur. The value is the number of days from the end of the month, such that `-1` is the last day of the month, `-2` is the second to last day, and so on.

      - #### dow

            DayOfWeek dow

        The cutover day-of-week, null to retain the day-of-month.

      - #### month

            Month month

        The month of the month-day of the first day of the cutover week. The actual date will be adjusted by the dowChange field.

      - #### offsetAfter

            ZoneOffset offsetAfter

        The offset after the cutover.

      - #### offsetBefore

            ZoneOffset offsetBefore

        The offset before the cutover.

      - #### standardOffset

            ZoneOffset standardOffset

        The standard offset at the cutover.

      - #### time

            LocalTime time

        The cutover time in the 'before' offset.

      - #### timeDefinition

            ZoneOffsetTransitionRule.TimeDefinition timeDefinition

        The definition of how the local time should be interpreted.

      - #### timeEndOfDay

            boolean timeEndOfDay

        Whether the cutover time is midnight at the end of day.

  - ### Class java.time.zone.ZoneRules extends Object implements Serializable

    serialVersionUID:
      3044319355680032515L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Defend against malicious streams.
        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Writes the object using a dedicated serialized form.
        Serial Data:

                 out.writeByte(1);  // identifies a ZoneRules
                 out.writeInt(standardTransitions.length);
                 for (long trans : standardTransitions) {
                     Ser.writeEpochSec(trans, out);
                 }
                 for (ZoneOffset offset : standardOffsets) {
                     Ser.writeOffset(offset, out);
                 }
                 out.writeInt(savingsInstantTransitions.length);
                 for (long trans : savingsInstantTransitions) {
                     Ser.writeEpochSec(trans, out);
                 }
                 for (ZoneOffset offset : wallOffsets) {
                     Ser.writeOffset(offset, out);
                 }
                 out.writeByte(lastRules.length);
                 for (ZoneOffsetTransitionRule rule : lastRules) {
                     rule.writeExternal(out);
                 }

          Epoch second values used for offsets are encoded in a variable length form to make the common cases put fewer bytes in the stream.

                static void writeEpochSec(long epochSec, DataOutput out) throws IOException {
                   if (epochSec >= -4575744000L && epochSec < 10413792000L && epochSec % 900 == 0) {  // quarter hours between 1825 and 2300
                       int store = (int) ((epochSec + 4575744000L) / 900);
                       out.writeByte((store >>> 16) & 255);
                       out.writeByte((store >>> 8) & 255);
                       out.writeByte(store & 255);
                    } else {
                        out.writeByte(255);
                        out.writeLong(epochSec);
                    }
                }

          ZoneOffset values are encoded in a variable length form so the common cases put fewer bytes in the stream.

                static void writeOffset(ZoneOffset offset, DataOutput out) throws IOException {
                   final int offsetSecs = offset.getTotalSeconds();
                   int offsetByte = offsetSecs % 900 == 0 ? offsetSecs / 900 : 127;  // compress to -72 to +72
                   out.writeByte(offsetByte);
                   if (offsetByte == 127) {
                       out.writeInt(offsetSecs);
                   }
               }

    - ### Serialized Fields

      - #### lastRules

            ZoneOffsetTransitionRule[] lastRules

        The last rule.

      - #### savingsInstantTransitions

            long[] savingsInstantTransitions

        The transitions between instants (epoch seconds), sorted.

      - #### savingsLocalTransitions

            LocalDateTime[] savingsLocalTransitions

        The transitions between local date-times, sorted. This is a paired array, where the first entry is the start of the transition and the second entry is the end of the transition.

      - #### standardOffsets

            ZoneOffset[] standardOffsets

        The standard offsets.

      - #### standardTransitions

            long[] standardTransitions

        The transitions between standard offsets (epoch seconds), sorted.

      - #### wallOffsets

            ZoneOffset[] wallOffsets

        The wall offsets.

  - ### Class java.time.zone.ZoneRulesException extends DateTimeException implements Serializable

    serialVersionUID:
      -1632418723876261839L

- ## Package java.util

  - ### Class java.util.AbstractMap.SimpleEntry extends Object implements Serializable

    serialVersionUID:
      -8499721149061103585L

    - ### Serialized Fields

      - #### key

            Object key

      - #### value

            Object value

  - ### Class java.util.AbstractMap.SimpleImmutableEntry extends Object implements Serializable

    serialVersionUID:
      7138329143949025153L

    - ### Serialized Fields

      - #### key

            Object key

      - #### value

            Object value

  - ### Class java.util.ArrayDeque extends AbstractCollection<E> implements Serializable

    serialVersionUID:
      2340985798034038923L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes this deque from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves this deque to a stream (that is, serializes it).
        Serial Data:
          The current size (`int`) of the deque, followed by all of its elements (each an object reference) in first-to-last order.
        Throws:
          `IOException` - if an I/O error occurs

  - ### Class java.util.ArrayList extends AbstractList<E> implements Serializable

    serialVersionUID:
      8683452581122892189L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes the `ArrayList` instance from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves the state of the `ArrayList` instance to a stream (that is, serializes it).
        Serial Data:
          The length of the array backing the `ArrayList` instance is emitted (int), followed by all of its elements (each an `Object`) in the proper order.
        Throws:
          `IOException` - if an I/O error occurs

    - ### Serialized Fields

      - #### size

            int size

        The size of the ArrayList (the number of elements it contains).

  - ### Class java.util.Arrays.ArrayList extends AbstractList<E> implements Serializable

    serialVersionUID:
      -2764017481108945198L

    - ### Serialized Fields

      - #### a

            Object[] a

  - ### Class java.util.BitSet extends Object implements Serializable

    serialVersionUID:
      7997698588986878753L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute the `BitSet` instance from a stream (i.e., deserialize it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Save the state of the `BitSet` instance to a stream (i.e., serialize it).
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### bits

            long[] bits

        The bits in this BitSet. The ith bit is stored in bits[i/64] at bit position i % 64 (where bit position 0 refers to the least significant bit and 63 refers to the most significant bit).

  - ### Class java.util.Calendar extends Object implements Serializable

    serialVersionUID:
      -1807547505821590642L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream stream)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes this object from a stream (i.e., deserialize it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream stream)
                              throws IOException

        Save the state of this object to a stream (i.e., serialize it). Ideally, `Calendar` would only write out its state data and the current time, and not write any field data out, such as `fields[]`, `isTimeSet`, `areFieldsSet`, and `isSet[]`. `nextStamp` also should not be part of the persistent state. Unfortunately, this didn't happen before JDK 1.1 shipped. To be compatible with JDK 1.1, we will always have to write out the field values and state flags. However, `nextStamp` can be removed from the serialization stream; this will probably happen in the near future.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### areFieldsSet

            boolean areFieldsSet

        True if `fields[]` are in sync with the currently set time. If false, then the next attempt to get the value of a field will force a recomputation of all fields from the current value of `time`.

      - #### fields

            int[] fields

        The calendar field values for the currently set time for this calendar. This is an array of `FIELD_COUNT` integers, with index values `ERA` through `DST_OFFSET`.

      - #### firstDayOfWeek

            int firstDayOfWeek

        The first day of the week, with possible values `SUNDAY`, `MONDAY`, etc. This is a locale-dependent value.

      - #### isSet

            boolean[] isSet

        The flags which tell if a specified calendar field for the calendar is set. A new object has no fields set. After the first call to a method which generates the fields, they all remain set after that. This is an array of `FIELD_COUNT` booleans, with index values `ERA` through `DST_OFFSET`.

      - #### isTimeSet

            boolean isTimeSet

        True if then the value of `time` is valid. The time is made invalid by a change to an item of `field[]`.
        See Also:
          `Calendar.time`

      - #### lenient

            boolean lenient

        `True` if this calendar allows out-of-range field values during computation of `time` from `fields[]`.
        See Also:
          `Calendar.setLenient(boolean)`, `Calendar.isLenient()`

      - #### minimalDaysInFirstWeek

            int minimalDaysInFirstWeek

        The number of days required for the first week in a month or year, with possible values from 1 to 7. This is a locale-dependent value.

      - #### nextStamp

            int nextStamp

        The next available value for `stamp[]`, an internal array. This actually should not be written out to the stream, and will probably be removed from the stream in the near future. In the meantime, a value of `MINIMUM_USER_STAMP` should be used.

      - #### serialVersionOnStream

            int serialVersionOnStream

        The version of the serialized data on the stream. Possible values:
        0 or not present on stream
          JDK 1.1.5 or earlier.
        1
          JDK 1.1.6 or later. Writes a correct 'time' value as well as compatible values for other fields. This is a transitional format.
        When streaming out this class, the most recent format and the highest allowable `serialVersionOnStream` is written.
        Since:
          1.1.6

      - #### time

            long time

        The currently set time for this calendar, expressed in milliseconds after January 1, 1970, 0:00:00 GMT.
        See Also:
          `Calendar.isTimeSet`

      - #### zone

            TimeZone zone

        The `TimeZone` used by this calendar. `Calendar` uses the time zone data to translate between locale and GMT time.

  - ### Class java.util.Collections.AsLIFOQueue extends AbstractQueue<E> implements Serializable

    serialVersionUID:
      1802017725587941708L

    - ### Serialized Fields

      - #### q

            Deque<E> q

  - ### Class java.util.Collections.CheckedCollection extends Object implements Serializable

    serialVersionUID:
      1578914078182001775L

    - ### Serialized Fields

      - #### c

            Collection<E> c

      - #### type

            Class<T> type

      - #### zeroLengthElementArray

            Object[] zeroLengthElementArray

  - ### Class java.util.Collections.CheckedList extends java.util.Collections.CheckedCollection<E> implements Serializable

    serialVersionUID:
      65247728283967356L

    - ### Serialized Fields

      - #### list

            List<E> list

  - ### Class java.util.Collections.CheckedMap extends Object implements Serializable

    serialVersionUID:
      5742860141034234728L

    - ### Serialized Fields

      - #### keyType

            Class<T> keyType

      - #### m

            Map<K,V> m

      - #### valueType

            Class<T> valueType

  - ### Class java.util.Collections.CheckedNavigableMap extends java.util.Collections.CheckedSortedMap<K,V> implements Serializable

    serialVersionUID:
      -4852462692372534096L

    - ### Serialized Fields

      - #### nm

            NavigableMap<K,V> nm

  - ### Class java.util.Collections.CheckedNavigableSet extends java.util.Collections.CheckedSortedSet<E> implements Serializable

    serialVersionUID:
      -5429120189805438922L

    - ### Serialized Fields

      - #### ns

            NavigableSet<E> ns

  - ### Class java.util.Collections.CheckedQueue extends java.util.Collections.CheckedCollection<E> implements Serializable

    serialVersionUID:
      1433151992604707767L

    - ### Serialized Fields

      - #### queue

            Queue<E> queue

  - ### Class java.util.Collections.CheckedRandomAccessList extends java.util.Collections.CheckedList<E> implements Serializable

    serialVersionUID:
      1638200125423088369L

  - ### Class java.util.Collections.CheckedSet extends java.util.Collections.CheckedCollection<E> implements Serializable

    serialVersionUID:
      4694047833775013803L

  - ### Class java.util.Collections.CheckedSortedMap extends java.util.Collections.CheckedMap<K,V> implements Serializable

    serialVersionUID:
      1599671320688067438L

    - ### Serialized Fields

      - #### sm

            SortedMap<K,V> sm

  - ### Class java.util.Collections.CheckedSortedSet extends java.util.Collections.CheckedSet<E> implements Serializable

    serialVersionUID:
      1599911165492914959L

    - ### Serialized Fields

      - #### ss

            SortedSet<E> ss

  - ### Class java.util.Collections.CopiesList extends AbstractList<E> implements Serializable

    serialVersionUID:
      2739099268398711800L

    - ### Serialized Fields

      - #### element

            Object element

      - #### n

            int n

  - ### Class java.util.Collections.EmptyList extends AbstractList<E> implements Serializable

    serialVersionUID:
      8842843931221139166L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

  - ### Class java.util.Collections.EmptyMap extends AbstractMap<K,V> implements Serializable

    serialVersionUID:
      6428348081105594320L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

  - ### Class java.util.Collections.EmptySet extends AbstractSet<E> implements Serializable

    serialVersionUID:
      1582296315990362920L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

  - ### Class java.util.Collections.ReverseComparator extends Object implements Serializable

    serialVersionUID:
      7207038068494060240L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

  - ### Class java.util.Collections.ReverseComparator2 extends Object implements Serializable

    serialVersionUID:
      4374092139857L

    - ### Serialized Fields

      - #### cmp

            Comparator<T> cmp

        The comparator specified in the static factory. This will never be null, as the static factory returns a ReverseComparator instance if its argument is null.

  - ### Class java.util.Collections.SetFromMap extends AbstractSet<E> implements Serializable

    serialVersionUID:
      2454657854757543876L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream stream)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### m

            Map<K,V> m

  - ### Class java.util.Collections.SingletonList extends AbstractList<E> implements Serializable

    serialVersionUID:
      3093736618740652951L

    - ### Serialized Fields

      - #### element

            Object element

  - ### Class java.util.Collections.SingletonMap extends AbstractMap<K,V> implements Serializable

    serialVersionUID:
      -6979724477215052911L

    - ### Serialized Fields

      - #### k

            Object k

      - #### v

            Object v

  - ### Class java.util.Collections.SingletonSet extends AbstractSet<E> implements Serializable

    serialVersionUID:
      3193687207550431679L

    - ### Serialized Fields

      - #### element

            Object element

  - ### Class java.util.Collections.SynchronizedCollection extends Object implements Serializable

    serialVersionUID:
      3053995032091335093L

    - ### Serialization Methods

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Throws:
          `IOException`

    - ### Serialized Fields

      - #### c

            Collection<E> c

      - #### mutex

            Object mutex

  - ### Class java.util.Collections.SynchronizedList extends java.util.Collections.SynchronizedCollection<E> implements Serializable

    serialVersionUID:
      -7754090372962971524L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

        SynchronizedRandomAccessList instances are serialized as SynchronizedList instances to allow them to be deserialized in pre-1.4 JREs (which do not have SynchronizedRandomAccessList). This method inverts the transformation. As a beneficial side-effect, it also grafts the RandomAccess marker onto SynchronizedList instances that were serialized in pre-1.4 JREs. Note: Unfortunately, SynchronizedRandomAccessList instances serialized in 1.4.1 and deserialized in 1.4 will become SynchronizedList instances, as this method was missing in 1.4.

    - ### Serialized Fields

      - #### list

            List<E> list

  - ### Class java.util.Collections.SynchronizedMap extends Object implements Serializable

    serialVersionUID:
      1978198479659022715L

    - ### Serialization Methods

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Throws:
          `IOException`

    - ### Serialized Fields

      - #### m

            Map<K,V> m

      - #### mutex

            Object mutex

  - ### Class java.util.Collections.SynchronizedNavigableMap extends java.util.Collections.SynchronizedSortedMap<K,V> implements Serializable

    serialVersionUID:
      699392247599746807L

    - ### Serialized Fields

      - #### nm

            NavigableMap<K,V> nm

  - ### Class java.util.Collections.SynchronizedNavigableSet extends java.util.Collections.SynchronizedSortedSet<E> implements Serializable

    serialVersionUID:
      -5505529816273629798L

    - ### Serialized Fields

      - #### ns

            NavigableSet<E> ns

  - ### Class java.util.Collections.SynchronizedRandomAccessList extends java.util.Collections.SynchronizedList<E> implements Serializable

    serialVersionUID:
      1530674583602358482L

    - ### Serialization Methods

      - #### writeReplace

            private Object writeReplace​()

        Allows instances to be deserialized in pre-1.4 JREs (which do not have SynchronizedRandomAccessList). SynchronizedList has a readResolve method that inverts this transformation upon deserialization.

  - ### Class java.util.Collections.SynchronizedSet extends java.util.Collections.SynchronizedCollection<E> implements Serializable

    serialVersionUID:
      487447009682186044L

  - ### Class java.util.Collections.SynchronizedSortedMap extends java.util.Collections.SynchronizedMap<K,V> implements Serializable

    serialVersionUID:
      -8798146769416483793L

    - ### Serialized Fields

      - #### sm

            SortedMap<K,V> sm

  - ### Class java.util.Collections.SynchronizedSortedSet extends java.util.Collections.SynchronizedSet<E> implements Serializable

    serialVersionUID:
      8695801310862127406L

    - ### Serialized Fields

      - #### ss

            SortedSet<E> ss

  - ### Class java.util.Collections.UnmodifiableCollection extends Object implements Serializable

    serialVersionUID:
      1820017752578914078L

    - ### Serialized Fields

      - #### c

            Collection<E> c

  - ### Class java.util.Collections.UnmodifiableList extends java.util.Collections.UnmodifiableCollection<E> implements Serializable

    serialVersionUID:
      -283967356065247728L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

        UnmodifiableRandomAccessList instances are serialized as UnmodifiableList instances to allow them to be deserialized in pre-1.4 JREs (which do not have UnmodifiableRandomAccessList). This method inverts the transformation. As a beneficial side-effect, it also grafts the RandomAccess marker onto UnmodifiableList instances that were serialized in pre-1.4 JREs. Note: Unfortunately, UnmodifiableRandomAccessList instances serialized in 1.4.1 and deserialized in 1.4 will become UnmodifiableList instances, as this method was missing in 1.4.

    - ### Serialized Fields

      - #### list

            List<E> list

  - ### Class java.util.Collections.UnmodifiableMap extends Object implements Serializable

    serialVersionUID:
      -1034234728574286014L

    - ### Serialized Fields

      - #### m

            Map<K,V> m

  - ### Class java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet extends java.util.Collections.UnmodifiableSet<Map.Entry<K,V>> implements Serializable

    serialVersionUID:
      7854390611657943733L

  - ### Class java.util.Collections.UnmodifiableNavigableMap extends java.util.Collections.UnmodifiableSortedMap<K,V> implements Serializable

    serialVersionUID:
      -4858195264774772197L

    - ### Serialized Fields

      - #### nm

            NavigableMap<K,V> nm

        The instance we wrap and protect.

  - ### Class java.util.Collections.UnmodifiableNavigableSet extends java.util.Collections.UnmodifiableSortedSet<E> implements Serializable

    serialVersionUID:
      -6027448201786391929L

    - ### Serialized Fields

      - #### ns

            NavigableSet<E> ns

        The instance we are protecting.

  - ### Class java.util.Collections.UnmodifiableRandomAccessList extends java.util.Collections.UnmodifiableList<E> implements Serializable

    serialVersionUID:
      -2542308836966382001L

    - ### Serialization Methods

      - #### writeReplace

            private Object writeReplace​()

        Allows instances to be deserialized in pre-1.4 JREs (which do not have UnmodifiableRandomAccessList). UnmodifiableList has a readResolve method that inverts this transformation upon deserialization.

  - ### Class java.util.Collections.UnmodifiableSet extends java.util.Collections.UnmodifiableCollection<E> implements Serializable

    serialVersionUID:
      -9215047833775013803L

  - ### Class java.util.Collections.UnmodifiableSortedMap extends java.util.Collections.UnmodifiableMap<K,V> implements Serializable

    serialVersionUID:
      -8806743815996713206L

    - ### Serialized Fields

      - #### sm

            SortedMap<K,V> sm

  - ### Class java.util.Collections.UnmodifiableSortedSet extends java.util.Collections.UnmodifiableSet<E> implements Serializable

    serialVersionUID:
      -4929149591599911165L

    - ### Serialized Fields

      - #### ss

            SortedSet<E> ss

  - ### Class java.util.CollSer extends Object implements Serializable

    serialVersionUID:
      6309168927139932177L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Reads objects from the stream and stores them in the transient `Object[] array` field.
        Serial Data:
          A nonnegative int, indicating the count of objects, followed by that many objects.
        Throws:
          `IOException` - if an I/O error occurs
          `ClassNotFoundException` - if a serialized class cannot be loaded
          `InvalidObjectException` - if the count is negative
        Since:
          9

      - #### readResolve

            private Object readResolve​()
                                throws ObjectStreamException

        Creates and returns an immutable collection from this proxy class. The instance returned is created as if by calling one of the static factory methods for List, Map, or Set. This proxy class is the serial form for all immutable collection instances, regardless of implementation type. This is necessary to ensure that the existence of any particular implementation type is kept out of the serialized form.
        Throws:
          `InvalidObjectException` - if the tag value is illegal or if an exception is thrown during creation of the collection
          `ObjectStreamException` - if another serialization error has occurred
        Since:
          9

      - #### writeObject

            private void writeObject​(ObjectOutputStream oos)
                              throws IOException

        Writes objects to the stream from the transient `Object[] array` field.
        Serial Data:
          A nonnegative int, indicating the count of objects, followed by that many objects.
        Throws:
          `IOException` - if an I/O error occurs
        Since:
          9

    - ### Serialized Fields

      - #### tag

            int tag

        Indicates the type of collection that is serialized. The low order 8 bits have the value 1 for an immutable `List`, 2 for an immutable `Set`, and 3 for an immutable `Map`. Any other value causes an `InvalidObjectException` to be thrown. The high order 24 bits are zero when an instance is serialized, and they are ignored when an instance is deserialized. They can thus be used by future implementations without causing compatibility issues.

        The tag value also determines the interpretation of the transient `Object[] array` field. For `List` and `Set`, the array's length is the size of the collection, and the array contains the elements of the collection. Null elements are not allowed. For `Set`, duplicate elements are not allowed.

        For `Map`, the array's length is twice the number of mappings present in the map. The array length is necessarily even. The array contains a succession of key and value pairs: `k1, v1, k2, v2, ..., kN, vN.` Nulls are not allowed, and duplicate keys are not allowed.

        Since:
          9

  - ### Class java.util.ConcurrentModificationException extends RuntimeException implements Serializable

    serialVersionUID:
      -3666751008965953603L

  - ### Class java.util.Currency extends Object implements Serializable

    serialVersionUID:
      -158308464356906721L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

        Resolves instances being deserialized to a single instance per currency.

    - ### Serialized Fields

      - #### currencyCode

            String currencyCode

        ISO 4217 currency code for this currency.

  - ### Class java.util.Date extends Object implements Serializable

    serialVersionUID:
      7523967970034938905L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute this object from a stream (i.e., deserialize it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Save the state of this object to a stream (i.e., serialize it).
        Serial Data:
          The value returned by `getTime()` is emitted (long). This represents the offset from January 1, 1970, 00:00:00 GMT in milliseconds.
        Throws:
          `IOException`

  - ### Class java.util.DuplicateFormatFlagsException extends IllegalFormatException implements Serializable

    serialVersionUID:
      18890531L

    - ### Serialized Fields

      - #### flags

            String flags

  - ### Class java.util.EmptyStackException extends RuntimeException implements Serializable

    serialVersionUID:
      5084686378493302095L

  - ### Class java.util.EnumMap extends AbstractMap<K extends Enum<K>,V> implements Serializable

    serialVersionUID:
      458661240069192865L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute the `EnumMap` instance from a stream (i.e., deserialize it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Save the state of the `EnumMap` instance to a stream (i.e., serialize it).
        Serial Data:
          The size of the enum map (the number of key-value mappings) is emitted (int), followed by the key (Object) and value (Object) for each key-value mapping represented by the enum map.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### keyType

            Class<T> keyType

        The `Class` object for the enum type of all the keys of this map.

  - ### Class java.util.EnumSet.SerializationProxy extends Object implements Serializable

    serialVersionUID:
      362491234563181265L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

    - ### Serialized Fields

      - #### elements

            Enum<E extends Enum<E>>[] elements

        The elements contained in this enum set.

      - #### elementType

            Class<T> elementType

        The element type of this enum set.

  - ### Class java.util.EventObject extends Object implements Serializable

    serialVersionUID:
      5516075349620653480L

  - ### Class java.util.FormatFlagsConversionMismatchException extends IllegalFormatException implements Serializable

    serialVersionUID:
      19120414L

    - ### Serialized Fields

      - #### c

            char c

      - #### f

            String f

  - ### Class java.util.FormatterClosedException extends IllegalStateException implements Serializable

    serialVersionUID:
      18111216L

  - ### Class java.util.GregorianCalendar extends Calendar implements Serializable

    serialVersionUID:
      -8125100834729963327L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream stream)
                             throws IOException,
                                    ClassNotFoundException

        Updates internal state.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### gregorianCutover

            long gregorianCutover

        The point at which the Gregorian calendar rules are used, measured in milliseconds from the standard epoch. Default is October 15, 1582 (Gregorian) 00:00:00 UTC or -12219292800000L. For this value, October 4, 1582 (Julian) is followed by October 15, 1582 (Gregorian). This corresponds to Julian day number 2299161.

  - ### Class java.util.HashMap extends AbstractMap<K,V> implements Serializable

    serialVersionUID:
      362498820763181265L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute the `HashMap` instance from a stream (i.e., deserialize it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Save the state of the `HashMap` instance to a stream (i.e., serialize it).
        Serial Data:
          The capacity of the HashMap (the length of the bucket array) is emitted (int), followed by the size (an int, the number of key-value mappings), followed by the key (Object) and value (Object) for each key-value mapping. The key-value mappings are emitted in no particular order.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### loadFactor

            float loadFactor

        The load factor for the hash table.

      - #### threshold

            int threshold

        The next size value at which to resize (capacity * load factor).

  - ### Class java.util.HashSet extends AbstractSet<E> implements Serializable

    serialVersionUID:
      -5024744406713321676L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute the `HashSet` instance from a stream (that is, deserialize it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Save the state of this `HashSet` instance to a stream (that is, serialize it).
        Serial Data:
          The capacity of the backing `HashMap` instance (int), and its load factor (float) are emitted, followed by the size of the set (the number of elements it contains) (int), followed by all of its elements (each an Object) in no particular order.
        Throws:
          `IOException`

  - ### Class java.util.Hashtable extends Dictionary<K,V> implements Serializable

    serialVersionUID:
      1421746759512286392L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute the Hashtable from a stream (i.e., deserialize it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Save the state of the Hashtable to a stream (i.e., serialize it).
        Serial Data:
          The capacity of the Hashtable (the length of the bucket array) is emitted (int), followed by the size of the Hashtable (the number of key-value mappings), followed by the key (Object) and value (Object) for each key-value mapping represented by the Hashtable The key-value mappings are emitted in no particular order.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### loadFactor

            float loadFactor

        The load factor for the hashtable.

      - #### threshold

            int threshold

        The table is rehashed when its size exceeds this threshold. (The value of this field is (int)(capacity * loadFactor).)

  - ### Class java.util.IdentityHashMap extends AbstractMap<K,V> implements Serializable

    serialVersionUID:
      8188218128353913216L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes the `IdentityHashMap` instance from a stream (i.e., deserializes it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves the state of the `IdentityHashMap` instance to a stream (i.e., serializes it).
        Serial Data:
          The size of the HashMap (the number of key-value mappings) (`int`), followed by the key (Object) and value (Object) for each key-value mapping represented by the IdentityHashMap. The key-value mappings are emitted in no particular order.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### size

            int size

        The number of key-value mappings contained in this identity hash map.

  - ### Class java.util.IllegalFormatCodePointException extends IllegalFormatException implements Serializable

    serialVersionUID:
      19080630L

    - ### Serialized Fields

      - #### c

            int c

  - ### Class java.util.IllegalFormatConversionException extends IllegalFormatException implements Serializable

    serialVersionUID:
      17000126L

    - ### Serialized Fields

      - #### arg

            Class<T> arg

      - #### c

            char c

  - ### Class java.util.IllegalFormatException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      18830826L

  - ### Class java.util.IllegalFormatFlagsException extends IllegalFormatException implements Serializable

    serialVersionUID:
      790824L

    - ### Serialized Fields

      - #### flags

            String flags

  - ### Class java.util.IllegalFormatPrecisionException extends IllegalFormatException implements Serializable

    serialVersionUID:
      18711008L

    - ### Serialized Fields

      - #### p

            int p

  - ### Class java.util.IllegalFormatWidthException extends IllegalFormatException implements Serializable

    serialVersionUID:
      16660902L

    - ### Serialized Fields

      - #### w

            int w

  - ### Class java.util.IllformedLocaleException extends RuntimeException implements Serializable

    serialVersionUID:
      -5245986824925681401L

    - ### Serialized Fields

      - #### _errIdx

            int _errIdx

  - ### Class java.util.InputMismatchException extends NoSuchElementException implements Serializable

    serialVersionUID:
      8811230760997066428L

  - ### Class java.util.LinkedHashMap extends HashMap<K,V> implements Serializable

    serialVersionUID:
      3801124242820219131L

    - ### Serialized Fields

      - #### accessOrder

            boolean accessOrder

        The iteration ordering method for this linked hash map: `true` for access-order, `false` for insertion-order.

  - ### Class java.util.LinkedHashSet extends HashSet<E> implements Serializable

    serialVersionUID:
      -2851667679971038690L

  - ### Class java.util.LinkedList extends AbstractSequentialList<E> implements Serializable

    serialVersionUID:
      876323262645176354L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes this `LinkedList` instance from a stream (that is, deserializes it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves the state of this `LinkedList` instance to a stream (that is, serializes it).
        Serial Data:
          The size of the list (the number of elements it contains) is emitted (int), followed by all of its elements (each an Object) in the proper order.
        Throws:
          `IOException`

  - ### Class java.util.Locale extends Object implements Serializable

    serialVersionUID:
      9149081749638150636L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes this `Locale`.
        Throws:
          `IOException`
          `ClassNotFoundException`
          `IllformedLocaleException`
        Since:
          1.7

      - #### readResolve

            private Object readResolve​()
                                throws ObjectStreamException

        Returns a cached `Locale` instance equivalent to the deserialized `Locale`. When serialized language, country and variant fields read from the object data stream are exactly "ja", "JP", "JP" or "th", "TH", "TH" and script/extensions fields are empty, this method supplies `UNICODE_LOCALE_EXTENSION` "ca"/"japanese" (calendar type is "japanese") or "nu"/"thai" (number script type is "thai"). See Special Cases for more information.
        Throws:
          `ObjectStreamException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes this `Locale` to the specified `ObjectOutputStream`.
        Throws:
          `IOException`
        Since:
          1.7

    - ### Serialized Fields

      - #### country

            String country

        country subtag in upper case. (See getCountry())

      - #### extensions

            String extensions

        canonical representation of extensions, that is, BCP47 extensions in alphabetical order followed by BCP47 private use subtags, all in lower case letters separated by HYPHEN-MINUS characters. (See getExtensionKeys(), getExtension(char))

      - #### hashcode

            int hashcode

        deprecated, for forward compatibility only

      - #### language

            String language

        language subtag in lower case. (See getLanguage())

      - #### script

            String script

        script subtag in title case (See getScript())

      - #### variant

            String variant

        variant subtags separated by LOWLINE characters. (See getVariant())

  - ### Class java.util.MissingFormatArgumentException extends IllegalFormatException implements Serializable

    serialVersionUID:
      19190115L

    - ### Serialized Fields

      - #### s

            String s

  - ### Class java.util.MissingFormatWidthException extends IllegalFormatException implements Serializable

    serialVersionUID:
      15560123L

    - ### Serialized Fields

      - #### s

            String s

  - ### Class java.util.MissingResourceException extends RuntimeException implements Serializable

    serialVersionUID:
      -4876345176062000401L

    - ### Serialized Fields

      - #### className

            String className

        The class name of the resource bundle requested by the user.

      - #### key

            String key

        The name of the specific resource requested by the user.

  - ### Class java.util.NoSuchElementException extends RuntimeException implements Serializable

    serialVersionUID:
      6769829250639411880L

  - ### Class java.util.PriorityQueue extends AbstractQueue<E> implements Serializable

    serialVersionUID:
      -7720805057305804111L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes the `PriorityQueue` instance from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves this queue to a stream (that is, serializes it).
        Serial Data:
          The length of the array backing the instance is emitted (int), followed by all of its elements (each an `Object`) in the proper order.
        Throws:
          `IOException` - if an I/O error occurs

    - ### Serialized Fields

      - #### comparator

            Comparator<T> comparator

        The comparator, or null if priority queue uses elements' natural ordering.

      - #### size

            int size

        The number of elements in the priority queue.

  - ### Class java.util.Properties extends Hashtable<Object,Object> implements Serializable

    serialVersionUID:
      4112578634029874840L

    - ### Serialized Fields

      - #### defaults

            Properties defaults

        A property list that contains default values for any keys not found in this property list.

  - ### Class java.util.PropertyPermissionCollection extends PermissionCollection implements Serializable

    serialVersionUID:
      7015263904581634791L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serial Data:
          Default fields.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### all_allowed

            boolean all_allowed

        boolean saying if "*" is in the collection.

      - #### permissions

            Hashtable<K,V> permissions

        A table of the PropertyPermissions.

  - ### Class java.util.Random extends Object implements Serializable

    serialVersionUID:
      3905348978240129619L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute the `Random` instance from a stream (that is, deserialize it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Save the `Random` instance to a stream.
        Throws:
          `IOException`

    - ### Serialization Overview

      - Serializable fields for Random.

    - ### Serialized Fields

      - #### haveNextNextGaussian

            boolean haveNextNextGaussian

        nextNextGaussian is valid

      - #### nextNextGaussian

            double nextNextGaussian

        next Gaussian to be returned

      - #### seed

            long seed

        seed for random computations

  - ### Class java.util.ServiceConfigurationError extends Error implements Serializable

    serialVersionUID:
      74132770414881L

  - ### Class java.util.SimpleTimeZone extends TimeZone implements Serializable

    serialVersionUID:
      -403250971215465050L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream stream)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute this object from a stream (i.e., deserialize it). We handle both JDK 1.1 binary formats and full formats with a packed byte array.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream stream)
                              throws IOException

        Save the state of this object to a stream (i.e., serialize it).
        Serial Data:
          We write out two formats, a JDK 1.1 compatible format, using `DOW_IN_MONTH_MODE` rules, in the required section, followed by the full rules, in packed format, in the optional section. The optional section will be ignored by JDK 1.1 code upon stream in.

          Contents of the optional section: The length of a byte array is emitted (int); this is 4 as of this release. The byte array of the given length is emitted. The contents of the byte array are the true values of the fields `startDay`, `startDayOfWeek`, `endDay`, and `endDayOfWeek`. The values of these fields in the required section are approximate values suited to the rule mode `DOW_IN_MONTH_MODE`, which is the only mode recognized by JDK 1.1.

        Throws:
          `IOException`

    - ### Serialized Fields

      - #### dstSavings

            int dstSavings

        A positive value indicating the amount of time saved during DST in milliseconds. Typically one hour (3600000); sometimes 30 minutes (1800000).

        If `useDaylight` is false, this value is ignored.

        Since:
          1.1.4

      - #### endDay

            int endDay

        This field has two possible interpretations:
        `endMode == DOW_IN_MONTH`
          `endDay` indicates the day of the month of `endMonth` on which daylight saving time ends, from 1 to 28, 30, or 31, depending on the `endMonth`.
        `endMode != DOW_IN_MONTH`
          `endDay` indicates which `endDayOfWeek` in th month `endMonth` daylight saving time ends on. For example, a value of +1 and a `endDayOfWeek` of `Calendar.SUNDAY` indicates the first Sunday of `endMonth`. Likewise, +2 would indicate the second Sunday, and -1 the last Sunday. A value of 0 is illegal.

        If `useDaylight` is false, this value is ignored.

      - #### endDayOfWeek

            int endDayOfWeek

        The day of the week on which daylight saving time ends. This value must be between `Calendar.SUNDAY` and `Calendar.SATURDAY` inclusive.

        If `useDaylight` is false or `endMode == DAY_OF_MONTH`, this value is ignored.

      - #### endMode

            int endMode

        Variables specifying the mode of the end rule. Takes the following values:
        `DOM_MODE`
          Exact day of week; e.g., March 1.
        `DOW_IN_MONTH_MODE`
          Day of week in month; e.g., last Sunday in March.
        `DOW_GE_DOM_MODE`
          Day of week after day of month; e.g., Sunday on or after March 15.
        `DOW_LE_DOM_MODE`
          Day of week before day of month; e.g., Sunday on or before March 15.
        The setting of this field affects the interpretation of the `endDay` field.

        If `useDaylight` is false, this value is ignored.

        Since:
          1.1.4

      - #### endMonth

            int endMonth

        The month in which daylight saving time ends. This value must be between `Calendar.JANUARY` and `Calendar.UNDECIMBER`. This value must not equal `startMonth`.

        If `useDaylight` is false, this value is ignored.

      - #### endTime

            int endTime

        The time in milliseconds after midnight at which daylight saving time ends. This value is expressed as wall time, standard time, or UTC time, depending on the setting of `endTimeMode`.

        If `useDaylight` is false, this value is ignored.

      - #### endTimeMode

            int endTimeMode

        The format of endTime, either `WALL_TIME`, `STANDARD_TIME`, or `UTC_TIME`.
        Since:
          1.3

      - #### monthLength

            byte[] monthLength

        This field was serialized in JDK 1.1, so we have to keep it that way to maintain serialization compatibility. However, there's no need to recreate the array each time we create a new time zone.
        An array of bytes containing the values {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}. This is ignored as of the Java 2 platform v1.2, however, it must be streamed out for compatibility with JDK 1.1.

      - #### rawOffset

            int rawOffset

        The offset in milliseconds between this zone and GMT. Negative offsets are to the west of Greenwich. To obtain local standard time, add the offset to GMT time. To obtain local wall time it may also be necessary to add `dstSavings`.

      - #### serialVersionOnStream

            int serialVersionOnStream

        The version of the serialized data on the stream. Possible values:
        0 or not present on stream
          JDK 1.1.3 or earlier.
        1
          JDK 1.1.4 or later. Includes three new fields: `startMode`, `endMode`, and `dstSavings`.
        2
          JDK 1.3 or later. Includes two new fields: `startTimeMode` and `endTimeMode`.
        When streaming out this class, the most recent format and the highest allowable `serialVersionOnStream` is written.
        Since:
          1.1.4

      - #### startDay

            int startDay

        This field has two possible interpretations:
        `startMode == DOW_IN_MONTH`
          `startDay` indicates the day of the month of `startMonth` on which daylight saving time starts, from 1 to 28, 30, or 31, depending on the `startMonth`.
        `startMode != DOW_IN_MONTH`
          `startDay` indicates which `startDayOfWeek` in the month `startMonth` daylight saving time starts on. For example, a value of +1 and a `startDayOfWeek` of `Calendar.SUNDAY` indicates the first Sunday of `startMonth`. Likewise, +2 would indicate the second Sunday, and -1 the last Sunday. A value of 0 is illegal.

        If `useDaylight` is false, this value is ignored.

      - #### startDayOfWeek

            int startDayOfWeek

        The day of the week on which daylight saving time starts. This value must be between `Calendar.SUNDAY` and `Calendar.SATURDAY` inclusive.

        If `useDaylight` is false or `startMode == DAY_OF_MONTH`, this value is ignored.

      - #### startMode

            int startMode

        Variables specifying the mode of the start rule. Takes the following values:
        `DOM_MODE`
          Exact day of week; e.g., March 1.
        `DOW_IN_MONTH_MODE`
          Day of week in month; e.g., last Sunday in March.
        `DOW_GE_DOM_MODE`
          Day of week after day of month; e.g., Sunday on or after March 15.
        `DOW_LE_DOM_MODE`
          Day of week before day of month; e.g., Sunday on or before March 15.
        The setting of this field affects the interpretation of the `startDay` field.

        If `useDaylight` is false, this value is ignored.

        Since:
          1.1.4

      - #### startMonth

            int startMonth

        The month in which daylight saving time starts. This value must be between `Calendar.JANUARY` and `Calendar.DECEMBER` inclusive. This value must not equal `endMonth`.

        If `useDaylight` is false, this value is ignored.

      - #### startTime

            int startTime

        The time in milliseconds after midnight at which daylight saving time starts. This value is expressed as wall time, standard time, or UTC time, depending on the setting of `startTimeMode`.

        If `useDaylight` is false, this value is ignored.

      - #### startTimeMode

            int startTimeMode

        The format of startTime, either WALL_TIME, STANDARD_TIME, or UTC_TIME.
        Since:
          1.3

      - #### startYear

            int startYear

        The year in which daylight saving time is first observed. This is an `AD` value. If this value is less than 1 then daylight saving time is observed for all `AD` years.

        If `useDaylight` is false, this value is ignored.

      - #### useDaylight

            boolean useDaylight

        A boolean value which is true if and only if this zone uses daylight saving time. If this value is false, several other fields are ignored.

  - ### Class java.util.Stack extends Vector<E> implements Serializable

    serialVersionUID:
      1224463164541339165L

  - ### Class java.util.TimeZone extends Object implements Serializable

    serialVersionUID:
      3581463369166924961L

    - ### Serialized Fields

      - #### ID

            String ID

        The string identifier of this `TimeZone`. This is a programmatic identifier used internally to look up `TimeZone` objects from the system table and also to map them to their localized display names. `ID` values are unique in the system table but may not be for dynamically created zones.

  - ### Class java.util.TooManyListenersException extends Exception implements Serializable

    serialVersionUID:
      5074640544770687831L

  - ### Class java.util.TreeMap extends AbstractMap<K,V> implements Serializable

    serialVersionUID:
      919286545866124006L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute the `TreeMap` instance from a stream (i.e., deserialize it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Save the state of the `TreeMap` instance to a stream (i.e., serialize it).
        Serial Data:
          The size of the TreeMap (the number of key-value mappings) is emitted (int), followed by the key (Object) and value (Object) for each key-value mapping represented by the TreeMap. The key-value mappings are emitted in key-order (as determined by the TreeMap's Comparator, or by the keys' natural ordering if the TreeMap has no Comparator).
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### comparator

            Comparator<T> comparator

        The comparator used to maintain order in this tree map, or null if it uses the natural ordering of its keys.

  - ### Class java.util.TreeMap.AscendingSubMap extends java.util.TreeMap.NavigableSubMap<K,V> implements Serializable

    serialVersionUID:
      912986545866124060L

  - ### Class java.util.TreeMap.DescendingSubMap extends java.util.TreeMap.NavigableSubMap<K,V> implements Serializable

    serialVersionUID:
      912986545866120460L

    - ### Serialized Fields

      - #### reverseComparator

            Comparator<T> reverseComparator

  - ### Class java.util.TreeMap.NavigableSubMap extends AbstractMap<K,V> implements Serializable

    serialVersionUID:
      -2102997345730753016L

    - ### Serialized Fields

      - #### fromStart

            boolean fromStart

      - #### hi

            Object hi

        Endpoints are represented as triples (fromStart, lo, loInclusive) and (toEnd, hi, hiInclusive). If fromStart is true, then the low (absolute) bound is the start of the backing map, and the other values are ignored. Otherwise, if loInclusive is true, lo is the inclusive bound, else lo is the exclusive bound. Similarly for the upper bound.

      - #### hiInclusive

            boolean hiInclusive

      - #### lo

            Object lo

        Endpoints are represented as triples (fromStart, lo, loInclusive) and (toEnd, hi, hiInclusive). If fromStart is true, then the low (absolute) bound is the start of the backing map, and the other values are ignored. Otherwise, if loInclusive is true, lo is the inclusive bound, else lo is the exclusive bound. Similarly for the upper bound.

      - #### loInclusive

            boolean loInclusive

      - #### m

            TreeMap<K,V> m

        The backing map.

      - #### toEnd

            boolean toEnd

  - ### Class java.util.TreeMap.SubMap extends AbstractMap<K,V> implements Serializable

    serialVersionUID:
      -6520786458950516097L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

    - ### Serialized Fields

      - #### fromKey

            Object fromKey

      - #### fromStart

            boolean fromStart

      - #### toEnd

            boolean toEnd

      - #### toKey

            Object toKey

  - ### Class java.util.TreeSet extends AbstractSet<E> implements Serializable

    serialVersionUID:
      -2479143000061671589L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute the `TreeSet` instance from a stream (that is, deserialize it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Save the state of the `TreeSet` instance to a stream (that is, serialize it).
        Serial Data:
          Emits the comparator used to order this set, or `null` if it obeys its elements' natural ordering (Object), followed by the size of the set (the number of elements it contains) (int), followed by all of its elements (each an Object) in order (as determined by the set's Comparator, or by the elements' natural ordering if the set has no Comparator).
        Throws:
          `IOException`

  - ### Class java.util.UnknownFormatConversionException extends IllegalFormatException implements Serializable

    serialVersionUID:
      19060418L

    - ### Serialized Fields

      - #### s

            String s

  - ### Class java.util.UnknownFormatFlagsException extends IllegalFormatException implements Serializable

    serialVersionUID:
      19370506L

    - ### Serialized Fields

      - #### flags

            String flags

  - ### Class java.util.UUID extends Object implements Serializable

    serialVersionUID:
      -4856846361193249489L

    - ### Serialized Fields

      - #### leastSigBits

            long leastSigBits

      - #### mostSigBits

            long mostSigBits

  - ### Class java.util.Vector extends AbstractList<E> implements Serializable

    serialVersionUID:
      -2767605614048989439L

    - ### Serialization Methods

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves the state of the `Vector` instance to a stream (that is, serializes it). This method performs synchronization to ensure the consistency of the serialized data.
        Throws:
          `IOException` - if an I/O error occurs

    - ### Serialized Fields

      - #### capacityIncrement

            int capacityIncrement

        The amount by which the capacity of the vector is automatically incremented when its size becomes greater than its capacity. If the capacity increment is less than or equal to zero, the capacity of the vector is doubled each time it needs to grow.

      - #### elementCount

            int elementCount

        The number of valid components in this `Vector` object. Components `elementData[0]` through `elementData[elementCount-1]` are the actual items.

      - #### elementData

            Object[] elementData

        The array buffer into which the components of the vector are stored. The capacity of the vector is the length of this array buffer, and is at least large enough to contain all the vector's elements.

        Any array elements following the last element in the Vector are null.

- ## Package java.util.concurrent

  - ### Class java.util.concurrent.ArrayBlockingQueue extends AbstractQueue<E> implements Serializable

    serialVersionUID:
      -817911632652898426L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes this queue and then checks some invariants.
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `InvalidObjectException` - if invariants are violated
          `IOException` - if an I/O error occurs

    - ### Serialized Fields

      - #### count

            int count

        Number of elements in the queue

      - #### items

            Object[] items

        The queued items

      - #### lock

            ReentrantLock lock

        Main lock guarding all access

      - #### notEmpty

            Condition notEmpty

        Condition for waiting takes

      - #### notFull

            Condition notFull

        Condition for waiting puts

      - #### putIndex

            int putIndex

        items index for next put, offer, or add

      - #### takeIndex

            int takeIndex

        items index for next take, poll, peek or remove

  - ### Class java.util.concurrent.BrokenBarrierException extends Exception implements Serializable

    serialVersionUID:
      7117394618823254244L

  - ### Class java.util.concurrent.CancellationException extends IllegalStateException implements Serializable

    serialVersionUID:
      -9202173006928992231L

  - ### Class java.util.concurrent.CompletionException extends RuntimeException implements Serializable

    serialVersionUID:
      7830266012832686185L

  - ### Class java.util.concurrent.ConcurrentHashMap extends AbstractMap<K,V> implements Serializable

    serialVersionUID:
      7249069246763182397L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes the instance from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves the state of the `ConcurrentHashMap` instance to a stream (i.e., serializes it).
        Serial Data:
          the serialized fields, followed by the key (Object) and value (Object) for each key-value mapping, followed by a null pair. The key-value mappings are emitted in no particular order.
        Throws:
          `IOException` - if an I/O error occurs

    - ### Serialization Overview

      - Serialized pseudo-fields, provided only for jdk7 compatibility.

    - ### Serialized Fields

      - #### segmentMask

            int segmentMask

        Mask value for indexing into segments. The upper bits of a key's hash code are used to choose the segment.

      - #### segmentShift

            int segmentShift

        Shift value for indexing within segments.

      - #### segments

            Segment[] segments

        The segments, each of which is a specialized hash table.

  - ### Class java.util.concurrent.ConcurrentHashMap.KeySetView extends java.util.concurrent.ConcurrentHashMap.CollectionView<K,V,K> implements Serializable

    serialVersionUID:
      7249069246763182397L

    - ### Serialized Fields

      - #### value

            Object value

  - ### Class java.util.concurrent.ConcurrentLinkedDeque extends AbstractCollection<E> implements Serializable

    serialVersionUID:
      876323262645176354L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes this deque from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves this deque to a stream (that is, serializes it).
        Serial Data:
          All of the elements (each an `E`) in the proper order, followed by a null
        Throws:
          `IOException` - if an I/O error occurs

  - ### Class java.util.concurrent.ConcurrentLinkedQueue extends AbstractQueue<E> implements Serializable

    serialVersionUID:
      196745693267521676L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes this queue from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves this queue to a stream (that is, serializes it).
        Serial Data:
          All of the elements (each an `E`) in the proper order, followed by a null
        Throws:
          `IOException` - if an I/O error occurs

  - ### Class java.util.concurrent.ConcurrentSkipListMap extends AbstractMap<K,V> implements Serializable

    serialVersionUID:
      -8627078645895051609L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes this map from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves this map to a stream (that is, serializes it).
        Serial Data:
          The key (Object) and value (Object) for each key-value mapping represented by the map, followed by `null`. The key-value mappings are emitted in key-order (as determined by the Comparator, or by the keys' natural ordering if no Comparator).
        Throws:
          `IOException` - if an I/O error occurs

    - ### Serialized Fields

      - #### comparator

            Comparator<T> comparator

        The comparator used to maintain order in this map, or null if using natural ordering. (Non-private to simplify access in nested classes.)

  - ### Class java.util.concurrent.ConcurrentSkipListMap.SubMap extends AbstractMap<K,V> implements Serializable

    serialVersionUID:
      -7647078645895051609L

    - ### Serialized Fields

      - #### hi

            Object hi

        upper bound key, or null if to end

      - #### hiInclusive

            boolean hiInclusive

        inclusion flag for hi

      - #### isDescending

            boolean isDescending

        direction

      - #### lo

            Object lo

        lower bound key, or null if from start

      - #### loInclusive

            boolean loInclusive

        inclusion flag for lo

      - #### m

            ConcurrentSkipListMap<K,V> m

        Underlying map

  - ### Class java.util.concurrent.ConcurrentSkipListSet extends AbstractSet<E> implements Serializable

    serialVersionUID:
      -2479143111061671589L

    - ### Serialized Fields

      - #### m

            ConcurrentNavigableMap<K,V> m

        The underlying map. Uses Boolean.TRUE as value for each element. This field is declared final for the sake of thread safety, which entails some ugliness in clone().

  - ### Class java.util.concurrent.CopyOnWriteArrayList extends Object implements Serializable

    serialVersionUID:
      8673264195747942595L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes this list from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves this list to a stream (that is, serializes it).
        Serial Data:
          The length of the array backing the list is emitted (int), followed by all of its elements (each an Object) in the proper order.
        Throws:
          `IOException` - if an I/O error occurs

  - ### Class java.util.concurrent.CopyOnWriteArraySet extends AbstractSet<E> implements Serializable

    serialVersionUID:
      5457747651344034263L

    - ### Serialized Fields

      - #### al

            CopyOnWriteArrayList<E> al

  - ### Class java.util.concurrent.CountedCompleter extends ForkJoinTask<T> implements Serializable

    serialVersionUID:
      5232453752276485070L

    - ### Serialized Fields

      - #### completer

            CountedCompleter<T> completer

        This task's completer, or null if none

      - #### pending

            int pending

        The number of pending tasks until completion

  - ### Class java.util.concurrent.ExecutionException extends Exception implements Serializable

    serialVersionUID:
      7830266012832686185L

  - ### Class java.util.concurrent.ForkJoinTask extends Object implements Serializable

    serialVersionUID:
      -7721805057305804111L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes this task from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves this task to a stream (that is, serializes it).
        Serial Data:
          the current run status and the exception thrown during execution, or `null` if none
        Throws:
          `IOException` - if an I/O error occurs

    - ### Serialized Fields

      - #### status

            int status

        The run status of this task

  - ### Class java.util.concurrent.LinkedBlockingDeque extends AbstractQueue<E> implements Serializable

    serialVersionUID:
      -387911632671998426L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes this deque from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves this deque to a stream (that is, serializes it).
        Serial Data:
          The capacity (int), followed by elements (each an `Object`) in the proper order, followed by a null
        Throws:
          `IOException` - if an I/O error occurs

    - ### Serialized Fields

      - #### capacity

            int capacity

        Maximum number of items in the deque

      - #### lock

            ReentrantLock lock

        Main lock guarding all access

      - #### notEmpty

            Condition notEmpty

        Condition for waiting takes

      - #### notFull

            Condition notFull

        Condition for waiting puts

  - ### Class java.util.concurrent.LinkedBlockingQueue extends AbstractQueue<E> implements Serializable

    serialVersionUID:
      -6903933977591709194L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes this queue from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves this queue to a stream (that is, serializes it).
        Serial Data:
          The capacity is emitted (int), followed by all of its elements (each an `Object`) in the proper order, followed by a null
        Throws:
          `IOException` - if an I/O error occurs

    - ### Serialized Fields

      - #### capacity

            int capacity

        The capacity bound, or Integer.MAX_VALUE if none

      - #### count

            AtomicInteger count

        Current number of elements

      - #### notEmpty

            Condition notEmpty

        Wait queue for waiting takes

      - #### notFull

            Condition notFull

        Wait queue for waiting puts

      - #### putLock

            ReentrantLock putLock

        Lock held by put, offer, etc

      - #### takeLock

            ReentrantLock takeLock

        Lock held by take, poll, etc

  - ### Class java.util.concurrent.LinkedTransferQueue extends AbstractQueue<E> implements Serializable

    serialVersionUID:
      -3223113410248163686L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes this queue from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves this queue to a stream (that is, serializes it).
        Serial Data:
          All of the elements (each an `E`) in the proper order, followed by a null
        Throws:
          `IOException` - if an I/O error occurs

  - ### Class java.util.concurrent.PriorityBlockingQueue extends AbstractQueue<E> implements Serializable

    serialVersionUID:
      5595510919245408276L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes this queue from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves this queue to a stream (that is, serializes it). For compatibility with previous version of this class, elements are first copied to a java.util.PriorityQueue, which is then serialized.
        Throws:
          `IOException` - if an I/O error occurs

    - ### Serialized Fields

      - #### lock

            ReentrantLock lock

        Lock used for all public operations.

      - #### notEmpty

            Condition notEmpty

        Condition for blocking when empty.

      - #### q

            PriorityQueue<E> q

        A plain PriorityQueue used only for serialization, to maintain compatibility with previous versions of this class. Non-null only during serialization/deserialization.

  - ### Class java.util.concurrent.RecursiveAction extends ForkJoinTask<Void> implements Serializable

    serialVersionUID:
      5232453952276485070L

  - ### Class java.util.concurrent.RecursiveTask extends ForkJoinTask<V> implements Serializable

    serialVersionUID:
      5232453952276485270L

    - ### Serialized Fields

      - #### result

            Object result

        The result of the computation.

  - ### Class java.util.concurrent.RejectedExecutionException extends RuntimeException implements Serializable

    serialVersionUID:
      -375805702767069545L

  - ### Class java.util.concurrent.Semaphore extends Object implements Serializable

    serialVersionUID:
      -3222578661600680210L

    - ### Serialized Fields

      - #### sync

            java.util.concurrent.Semaphore.Sync sync

        All mechanics via AbstractQueuedSynchronizer subclass

  - ### Class java.util.concurrent.SynchronousQueue extends AbstractQueue<E> implements Serializable

    serialVersionUID:
      -3223113410248163686L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes this queue from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves this queue to a stream (that is, serializes it).
        Throws:
          `IOException` - if an I/O error occurs

    - ### Serialized Fields

      - #### qlock

            ReentrantLock qlock

      - #### waitingConsumers

            java.util.concurrent.SynchronousQueue.WaitQueue waitingConsumers

      - #### waitingProducers

            java.util.concurrent.SynchronousQueue.WaitQueue waitingProducers

  - ### Class java.util.concurrent.ThreadLocalRandom extends Random implements Serializable

    serialVersionUID:
      -5851777807851030925L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

        Returns the `current` thread's `ThreadLocalRandom`.

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Saves the `ThreadLocalRandom` to a stream (that is, serializes it).
        Throws:
          `IOException` - if an I/O error occurs

    - ### Serialized Fields

      - #### initialized

            boolean initialized

        always true

      - #### rnd

            long rnd

        seed for random computations

  - ### Class java.util.concurrent.TimeoutException extends Exception implements Serializable

    serialVersionUID:
      1900926677490660714L

- ## Package java.util.concurrent.atomic

  - ### Class java.util.concurrent.atomic.AtomicBoolean extends Object implements Serializable

    serialVersionUID:
      4654671469794556979L

    - ### Serialized Fields

      - #### value

            int value

  - ### Class java.util.concurrent.atomic.AtomicInteger extends Number implements Serializable

    serialVersionUID:
      6214790243416807050L

    - ### Serialized Fields

      - #### value

            int value

  - ### Class java.util.concurrent.atomic.AtomicIntegerArray extends Object implements Serializable

    serialVersionUID:
      2862133569453604235L

    - ### Serialized Fields

      - #### array

            int[] array

  - ### Class java.util.concurrent.atomic.AtomicLong extends Number implements Serializable

    serialVersionUID:
      1927816293512124184L

    - ### Serialized Fields

      - #### value

            long value

  - ### Class java.util.concurrent.atomic.AtomicLongArray extends Object implements Serializable

    serialVersionUID:
      -2308431214976778248L

    - ### Serialized Fields

      - #### array

            long[] array

  - ### Class java.util.concurrent.atomic.AtomicReference extends Object implements Serializable

    serialVersionUID:
      -1848883965231344442L

    - ### Serialized Fields

      - #### value

            Object value

  - ### Class java.util.concurrent.atomic.AtomicReferenceArray extends Object implements Serializable

    serialVersionUID:
      -6209656149925076980L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitutes the instance from a stream (that is, deserializes it).
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found
          `IOException` - if an I/O error occurs

    - ### Serialized Fields

      - #### array

            Object[] array

  - ### Class java.util.concurrent.atomic.DoubleAccumulator extends java.util.concurrent.atomic.Striped64 implements Serializable

    serialVersionUID:
      7249069246863182397L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Returns a SerializationProxy representing the state of this instance.

    - ### Serialized Fields

      - #### function

            DoubleBinaryOperator function

      - #### identity

            long identity

  - ### Class java.util.concurrent.atomic.DoubleAccumulator.SerializationProxy extends Object implements Serializable

    serialVersionUID:
      7249069246863182397L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

        Returns a `DoubleAccumulator` object with initial state held by this proxy.

    - ### Serialized Fields

      - #### function

            DoubleBinaryOperator function

        The function used for updates.

      - #### identity

            long identity

        The identity value, represented as a long, as converted by `Double.doubleToRawLongBits(double)`. The original identity can be recovered using `Double.longBitsToDouble(long)`.

      - #### value

            double value

        The current value returned by get().

  - ### Class java.util.concurrent.atomic.DoubleAdder extends java.util.concurrent.atomic.Striped64 implements Serializable

    serialVersionUID:
      7249069246863182397L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Returns a SerializationProxy representing the state of this instance.

  - ### Class java.util.concurrent.atomic.DoubleAdder.SerializationProxy extends Object implements Serializable

    serialVersionUID:
      7249069246863182397L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

        Returns a `DoubleAdder` object with initial state held by this proxy.

    - ### Serialized Fields

      - #### value

            double value

        The current value returned by sum().

  - ### Class java.util.concurrent.atomic.LongAccumulator extends java.util.concurrent.atomic.Striped64 implements Serializable

    serialVersionUID:
      7249069246863182397L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Returns a SerializationProxy representing the state of this instance.

    - ### Serialized Fields

      - #### function

            LongBinaryOperator function

      - #### identity

            long identity

  - ### Class java.util.concurrent.atomic.LongAccumulator.SerializationProxy extends Object implements Serializable

    serialVersionUID:
      7249069246863182397L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

        Returns a `LongAccumulator` object with initial state held by this proxy.

    - ### Serialized Fields

      - #### function

            LongBinaryOperator function

        The function used for updates.

      - #### identity

            long identity

        The identity value.

      - #### value

            long value

        The current value returned by get().

  - ### Class java.util.concurrent.atomic.LongAdder extends java.util.concurrent.atomic.Striped64 implements Serializable

    serialVersionUID:
      7249069246863182397L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws InvalidObjectException

        Throws:
          `InvalidObjectException` - always

      - #### writeReplace

            private Object writeReplace​()

        Returns a SerializationProxy representing the state of this instance.

  - ### Class java.util.concurrent.atomic.LongAdder.SerializationProxy extends Object implements Serializable

    serialVersionUID:
      7249069246863182397L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

        Returns a `LongAdder` object with initial state held by this proxy.

    - ### Serialized Fields

      - #### value

            long value

        The current value returned by sum().

- ## Package java.util.concurrent.locks

  - ### Class java.util.concurrent.locks.AbstractOwnableSynchronizer extends Object implements Serializable

    serialVersionUID:
      3737899427754241961L

  - ### Class java.util.concurrent.locks.AbstractQueuedLongSynchronizer extends AbstractOwnableSynchronizer implements Serializable

    serialVersionUID:
      7373984972572414692L

    - ### Serialized Fields

      - #### state

            long state

        The synchronization state.

  - ### Class java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject extends Object implements Serializable

    serialVersionUID:
      1173984872572414699L

  - ### Class java.util.concurrent.locks.AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer implements Serializable

    serialVersionUID:
      7373984972572414691L

    - ### Serialized Fields

      - #### state

            int state

        The synchronization state.

  - ### Class java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject extends Object implements Serializable

    serialVersionUID:
      1173984872572414699L

  - ### Class java.util.concurrent.locks.ReentrantLock extends Object implements Serializable

    serialVersionUID:
      7373984872572414699L

    - ### Serialized Fields

      - #### sync

            java.util.concurrent.locks.ReentrantLock.Sync sync

        Synchronizer providing all implementation mechanics

  - ### Class java.util.concurrent.locks.ReentrantReadWriteLock extends Object implements Serializable

    serialVersionUID:
      -6992448646407690164L

    - ### Serialized Fields

      - #### readerLock

            ReentrantReadWriteLock.ReadLock readerLock

        Inner class providing readlock

      - #### sync

            java.util.concurrent.locks.ReentrantReadWriteLock.Sync sync

        Performs all synchronization mechanics

      - #### writerLock

            ReentrantReadWriteLock.WriteLock writerLock

        Inner class providing writelock

  - ### Class java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock extends Object implements Serializable

    serialVersionUID:
      -5992448646407690164L

    - ### Serialized Fields

      - #### sync

            java.util.concurrent.locks.ReentrantReadWriteLock.Sync sync

  - ### Class java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock extends Object implements Serializable

    serialVersionUID:
      -4992448646407690164L

    - ### Serialized Fields

      - #### sync

            java.util.concurrent.locks.ReentrantReadWriteLock.Sync sync

  - ### Class java.util.concurrent.locks.StampedLock extends Object implements Serializable

    serialVersionUID:
      -6001602636862214147L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

- ## Package java.util.jar

  - ### Class java.util.jar.JarException extends ZipException implements Serializable

    serialVersionUID:
      7159778400963954473L

- ## Package java.util.logging

  - ### Class java.util.logging.Level extends Object implements Serializable

    serialVersionUID:
      -8176160795706313070L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

    - ### Serialized Fields

      - #### name

            String name

        The non-localized name of the level.

      - #### resourceBundleName

            String resourceBundleName

        The resource bundle name to be used in localizing the level name.

      - #### value

            int value

        The integer value of the level.

  - ### Class java.util.logging.LoggingPermission extends BasicPermission implements Serializable

    serialVersionUID:
      63564341580231582L

  - ### Class java.util.logging.LogRecord extends Object implements Serializable

    serialVersionUID:
      5372048053134512534L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serial Data:
          Serialized fields, followed by a two byte version number (major byte, followed by minor byte), followed by information on the log record parameter array. If there is no parameter array, then -1 is written. If there is a parameter array (possible of zero length) then the array length is written as an integer, followed by String values for each parameter. If a parameter is null, then a null String is written. Otherwise the output of Object.toString() is written.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### level

            Level level

        Logging message level

      - #### loggerName

            String loggerName

        Name of the source Logger

      - #### message

            String message

        Non-localized raw message text

      - #### millis

            long millis

        Truncated event time in milliseconds since 1970 - calculated as getInstant().toEpochMilli(). The event time instant can be reconstructed using `Instant.ofEpochSecond(millis/1000, (millis % 1000) * 1000_000 + nanoAdjustment)`

      - #### nanoAdjustment

            int nanoAdjustment

        Nanoseconds adjustment to the millisecond of event time - calculated as getInstant().getNano() % 1000_000 The event time instant can be reconstructed using `Instant.ofEpochSecond(millis/1000, (millis % 1000) * 1000_000 + nanoAdjustment)`

        Since: 9

      - #### resourceBundleName

            String resourceBundleName

        Resource bundle name to localized log message

      - #### sequenceNumber

            long sequenceNumber

        Sequence number

      - #### sourceClassName

            String sourceClassName

        Class that issued logging call

      - #### sourceMethodName

            String sourceMethodName

        Method that issued logging call

      - #### threadID

            int threadID

        Thread ID for thread that issued logging call

      - #### thrown

            Throwable thrown

        The Throwable (if any) associated with log message

- ## Package java.util.prefs

  - ### Class java.util.prefs.BackingStoreException extends Exception implements Serializable

    serialVersionUID:
      859796500401108469L

  - ### Class java.util.prefs.InvalidPreferencesFormatException extends Exception implements Serializable

    serialVersionUID:
      -791715184232119669L

- ## Package java.util.regex

  - ### Class java.util.regex.Pattern extends Object implements Serializable

    serialVersionUID:
      5073258162644648461L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Recompile the Pattern instance from a stream. The original pattern string is read in and the object tree is recompiled from it.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### flags

            int flags

        The original pattern flags.

      - #### pattern

            String pattern

        The original regular-expression pattern string.

  - ### Class java.util.regex.PatternSyntaxException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      -3864639126226059218L

    - ### Serialized Fields

      - #### desc

            String desc

      - #### index

            int index

      - #### pattern

            String pattern

- ## Package java.util.zip

  - ### Class java.util.zip.DataFormatException extends Exception implements Serializable

    serialVersionUID:
      2219632870893641452L

  - ### Class java.util.zip.ZipError extends InternalError implements Serializable

    serialVersionUID:
      853973422266861979L

  - ### Class java.util.zip.ZipException extends IOException implements Serializable

    serialVersionUID:
      8000196834066748623L

- ## Package javax.activation

  - ### Class javax.activation.ActivationDataFlavor extends DataFlavor implements Serializable

    - ### Serialization Methods

      - #### readExternal

            public void readExternal​(ObjectInput is)
                              throws IOException,
                                     ClassNotFoundException

        Restores this `DataFlavor` from a Serialized state.
        Throws:
          `IOException` - if I/O errors occur
          `ClassNotFoundException` - If the class for an object being restored cannot be found.

      - #### writeExternal

            public void writeExternal​(ObjectOutput os)
                               throws IOException

        Serializes this `DataFlavor`.
        Throws:
          `IOException` - Includes any I/O exceptions that may occur

  - ### Class javax.activation.MimeType extends Object implements Serializable

    - ### Serialization Methods

      - #### readExternal

            public void readExternal​(ObjectInput in)
                              throws IOException,
                                     ClassNotFoundException

        The object implements the readExternal method to restore its contents by calling the methods of DataInput for primitive types and readObject for objects, strings and arrays. The readExternal method must read the values in the same sequence and with the same types as were written by writeExternal.
        Throws:
          `ClassNotFoundException` - If the class for an object being restored cannot be found.
          `IOException` - if I/O errors occur

      - #### writeExternal

            public void writeExternal​(ObjectOutput out)
                               throws IOException

        The object implements the writeExternal method to save its contents by calling the methods of DataOutput for its primitive values or calling the writeObject method of ObjectOutput for objects, strings and arrays.
        Throws:
          `IOException` - Includes any I/O exceptions that may occur

  - ### Class javax.activation.MimeTypeParseException extends Exception implements Serializable

  - ### Class javax.activation.UnsupportedDataTypeException extends IOException implements Serializable

- ## Package javax.activity

  - ### Class javax.activity.ActivityCompletedException extends RemoteException implements Serializable

  - ### Class javax.activity.ActivityRequiredException extends RemoteException implements Serializable

  - ### Class javax.activity.InvalidActivityException extends RemoteException implements Serializable

- ## Package javax.annotation.processing

  - ### Class javax.annotation.processing.FilerException extends IOException implements Serializable

    serialVersionUID:
      8426423106453163293L

- ## Package javax.crypto

  - ### Class javax.crypto.AEADBadTagException extends BadPaddingException implements Serializable

    serialVersionUID:
      -488059093241685509L

  - ### Class javax.crypto.BadPaddingException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      -5315033893984728443L

  - ### Class javax.crypto.ExemptionMechanismException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      1572699429277957109L

  - ### Class javax.crypto.IllegalBlockSizeException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      -1965144811953540392L

  - ### Class javax.crypto.NoSuchPaddingException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      -4572885201200175466L

  - ### Class javax.crypto.SealedObject extends Object implements Serializable

    serialVersionUID:
      4482838265551344752L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Restores the state of the SealedObject from a stream.
        Throws:
          `NullPointerException` - if s is null.
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### encodedParams

            byte[] encodedParams

        The cryptographic parameters used by the sealing Cipher, encoded in the default format.

        That is, `cipher.getParameters().getEncoded()`.

      - #### encryptedContent

            byte[] encryptedContent

        The serialized object contents in encrypted format.

      - #### paramsAlg

            String paramsAlg

        The algorithm of the parameters used.

      - #### sealAlg

            String sealAlg

        The algorithm that was used to seal this object.

  - ### Class javax.crypto.ShortBufferException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      8427718640832943747L

- ## Package javax.crypto.interfaces

- ## Package javax.crypto.spec

  - ### Class javax.crypto.spec.SecretKeySpec extends Object implements Serializable

    serialVersionUID:
      6577238317307289933L

    - ### Serialized Fields

      - #### algorithm

            String algorithm

        The name of the algorithm associated with this key.

      - #### key

            byte[] key

        The secret key.

- ## Package javax.imageio

  - ### Class javax.imageio.IIOException extends IOException implements Serializable

    serialVersionUID:
      -3216210718638985251L

- ## Package javax.imageio.metadata

  - ### Class javax.imageio.metadata.IIOInvalidTreeException extends IIOException implements Serializable

    serialVersionUID:
      -1314083172544132777L

    - ### Serialized Fields

      - #### offendingNode

            Node offendingNode

        The `Node` that led to the parsing error, or `null`.

- ## Package javax.lang.model

  - ### Class javax.lang.model.UnknownEntityException extends RuntimeException implements Serializable

    serialVersionUID:
      269L

- ## Package javax.lang.model.element

  - ### Class javax.lang.model.element.UnknownAnnotationValueException extends UnknownEntityException implements Serializable

    serialVersionUID:
      269L

  - ### Class javax.lang.model.element.UnknownDirectiveException extends UnknownEntityException implements Serializable

    serialVersionUID:
      269L

  - ### Class javax.lang.model.element.UnknownElementException extends UnknownEntityException implements Serializable

    serialVersionUID:
      269L

- ## Package javax.lang.model.type

  - ### Class javax.lang.model.type.MirroredTypeException extends MirroredTypesException implements Serializable

    serialVersionUID:
      269L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Explicitly set all transient fields.
        Throws:
          `ClassNotFoundException` - for a missing class during deserialization
          `IOException` - for an IO problem during deserialization

  - ### Class javax.lang.model.type.MirroredTypesException extends RuntimeException implements Serializable

    serialVersionUID:
      269L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Explicitly set all transient fields.
        Throws:
          `ClassNotFoundException` - for a missing class during deserialization
          `IOException` - for an IO problem during deserialization

  - ### Class javax.lang.model.type.UnknownTypeException extends UnknownEntityException implements Serializable

    serialVersionUID:
      269L

- ## Package javax.management

  - ### Class javax.management.AndQueryExp extends QueryEval implements Serializable

    serialVersionUID:
      -1081892073854801359L

    - ### Serialized Fields

      - #### exp1

            QueryExp exp1

        The first QueryExp of the conjunction

      - #### exp2

            QueryExp exp2

        The second QueryExp of the conjunction

  - ### Class javax.management.Attribute extends Object implements Serializable

    serialVersionUID:
      2484220110589082382L

    - ### Serialized Fields

      - #### name

            String name

        Attribute name.

      - #### value

            Object value

        Attribute value

  - ### Class javax.management.AttributeChangeNotification extends Notification implements Serializable

    serialVersionUID:
      535176054565814134L

    - ### Serialized Fields

      - #### attributeName

            String attributeName

        The MBean attribute name.

      - #### attributeType

            String attributeType

        The MBean attribute type.

      - #### newValue

            Object newValue

        The MBean attribute new value.

      - #### oldValue

            Object oldValue

        The MBean attribute old value.

  - ### Class javax.management.AttributeChangeNotificationFilter extends Object implements Serializable

    serialVersionUID:
      -6347317584796410029L

    - ### Serialized Fields

      - #### enabledAttributes

            Vector<E> enabledAttributes

        `Vector` that contains the enabled attribute names. The default value is an empty vector.

  - ### Class javax.management.AttributeList extends ArrayList<Object> implements Serializable

    serialVersionUID:
      -4077085769279709076L

  - ### Class javax.management.AttributeNotFoundException extends OperationsException implements Serializable

    serialVersionUID:
      6511584241791106926L

  - ### Class javax.management.AttributeValueExp extends Object implements Serializable

    serialVersionUID:
      -7768025046539163385L

    - ### Serialized Fields

      - #### attr

            String attr

        The name of the attribute

  - ### Class javax.management.BadAttributeValueExpException extends Exception implements Serializable

    serialVersionUID:
      -3105272988410493376L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### val

            Object val

        A string representation of the attribute that originated this exception. for example, the string value can be the return of `attribute.toString()`

  - ### Class javax.management.BadBinaryOpValueExpException extends Exception implements Serializable

    serialVersionUID:
      5068475589449021227L

    - ### Serialized Fields

      - #### exp

            ValueExp exp

        the `ValueExp` that originated this exception

  - ### Class javax.management.BadStringOperationException extends Exception implements Serializable

    serialVersionUID:
      7802201238441662100L

    - ### Serialized Fields

      - #### op

            String op

        The description of the operation that originated this exception

  - ### Class javax.management.BetweenQueryExp extends QueryEval implements Serializable

    serialVersionUID:
      -2933597532866307444L

    - ### Serialized Fields

      - #### exp1

            ValueExp exp1

        The checked value

      - #### exp2

            ValueExp exp2

        The lower bound value

      - #### exp3

            ValueExp exp3

        The upper bound value

  - ### Class javax.management.BinaryOpValueExp extends QueryEval implements Serializable

    serialVersionUID:
      1216286847881456786L

    - ### Serialized Fields

      - #### exp1

            ValueExp exp1

        The first value

      - #### exp2

            ValueExp exp2

        The second value

      - #### op

            int op

        The operator

  - ### Class javax.management.BinaryRelQueryExp extends QueryEval implements Serializable

    serialVersionUID:
      -5690656271650491000L

    - ### Serialized Fields

      - #### exp1

            ValueExp exp1

        The first value

      - #### exp2

            ValueExp exp2

        The second value

      - #### relOp

            int relOp

        The operator

  - ### Class javax.management.BooleanValueExp extends QueryEval implements Serializable

    serialVersionUID:
      7754922052666594581L

    - ### Serialized Fields

      - #### val

            boolean val

        The boolean value

  - ### Class javax.management.ClassAttributeValueExp extends AttributeValueExp implements Serializable

    - ### Serialized Fields

      - #### attr

            String attr

        The name of the attribute

        The serialVersionUID of this class is `-1081892073854801359L`.

  - ### Class javax.management.ImmutableDescriptor extends Object implements Serializable

    serialVersionUID:
      8853308591080540165L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()
                                throws InvalidObjectException

        This method can replace a deserialized instance of this class with another instance. For example, it might replace a deserialized empty ImmutableDescriptor with `ImmutableDescriptor.EMPTY_DESCRIPTOR`.
        Throws:
          `InvalidObjectException` - if the read object has invalid fields.

    - ### Serialized Fields

      - #### names

            String[] names

        The names of the fields in this ImmutableDescriptor with their original case. The names must be in alphabetical order as determined by `String.CASE_INSENSITIVE_ORDER`.

      - #### values

            Object[] values

        The values of the fields in this ImmutableDescriptor. The elements in this array match the corresponding elements in the `names` array.

  - ### Class javax.management.InQueryExp extends QueryEval implements Serializable

    serialVersionUID:
      -5801329450358952434L

    - ### Serialized Fields

      - #### val

            ValueExp val

        The `ValueExp` to be found

      - #### valueList

            ValueExp[] valueList

        The array of `ValueExp` to be searched

  - ### Class javax.management.InstanceAlreadyExistsException extends OperationsException implements Serializable

    serialVersionUID:
      8893743928912733931L

  - ### Class javax.management.InstanceNotFoundException extends OperationsException implements Serializable

    serialVersionUID:
      -882579438394773049L

  - ### Class javax.management.InstanceOfQueryExp extends QueryEval implements Serializable

    serialVersionUID:
      -1081892073854801359L

    - ### Serialized Fields

      - #### classNameValue

            StringValueExp classNameValue

        The `StringValueExp` returning the name of the class of which selected MBeans should be instances.

  - ### Class javax.management.IntrospectionException extends OperationsException implements Serializable

    serialVersionUID:
      1054516935875481725L

  - ### Class javax.management.InvalidApplicationException extends Exception implements Serializable

    serialVersionUID:
      -3048022274675537269L

    - ### Serialized Fields

      - #### val

            Object val

        The object representing the class of the MBean

  - ### Class javax.management.InvalidAttributeValueException extends OperationsException implements Serializable

    serialVersionUID:
      2164571879317142449L

  - ### Class javax.management.JMException extends Exception implements Serializable

    serialVersionUID:
      350520924977331825L

  - ### Class javax.management.JMRuntimeException extends RuntimeException implements Serializable

    serialVersionUID:
      6573344628407841861L

  - ### Class javax.management.ListenerNotFoundException extends OperationsException implements Serializable

    serialVersionUID:
      -7242605822448519061L

  - ### Class javax.management.MalformedObjectNameException extends OperationsException implements Serializable

    serialVersionUID:
      -572689714442915824L

  - ### Class javax.management.MatchQueryExp extends QueryEval implements Serializable

    serialVersionUID:
      -7156603696948215014L

    - ### Serialized Fields

      - #### exp

            AttributeValueExp exp

        The attribute value to be matched

      - #### pattern

            String pattern

        The pattern to be matched

  - ### Class javax.management.MBeanAttributeInfo extends MBeanFeatureInfo implements Serializable

    - ### Serialized Fields

      - #### attributeType

            String attributeType

        The actual attribute type.

      - #### is

            boolean is

        Indicates if this method is a "is"

      - #### isRead

            boolean isRead

        The attribute read right.

      - #### isWrite

            boolean isWrite

        The attribute write right.

  - ### Class javax.management.MBeanConstructorInfo extends MBeanFeatureInfo implements Serializable

    serialVersionUID:
      4433990064191844427L

    - ### Serialized Fields

      - #### signature

            MBeanParameterInfo[] signature

        The signature of the method, that is, the class names of the arguments.

  - ### Class javax.management.MBeanException extends JMException implements Serializable

    serialVersionUID:
      4066342430588744142L

    - ### Serialized Fields

      - #### exception

            Exception exception

        Encapsulated `Exception`

  - ### Class javax.management.MBeanFeatureInfo extends Object implements Serializable

    serialVersionUID:
      3952882688968447265L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes an `MBeanFeatureInfo` from an `ObjectInputStream`.
        Serial Data:
          For compatibility reasons, an object of this class is deserialized as follows.

          The method `defaultReadObject()` is called first to deserialize the object except the field `descriptor`, which is not serialized in the default way. Then the method `read()` is called to read a byte, the field `descriptor` is deserialized according to the value of the byte value:

          - 1. The method `readObject()` is called twice to obtain the field names (a `String[]`) and the field values (an `Object[]`) of the `descriptor`. The two obtained values then are used to construct an `ImmutableDescriptor` instance for the field `descriptor`;
          - 0. The value for the field `descriptor` is obtained directly by calling the method `readObject()`. If the obtained value is null, the field `descriptor` is set to `EMPTY_DESCRIPTOR`;
          - -1. This means that there is no byte to read and that the object is from an earlier version of the JMX API. The field `descriptor` is set to `EMPTY_DESCRIPTOR`
          - Any other value. A `StreamCorruptedException` is thrown.
        Throws:
          `IOException`
          `ClassNotFoundException`
        Since:
          1.6

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes an `MBeanFeatureInfo` to an `ObjectOutputStream`.
        Serial Data:
          For compatibility reasons, an object of this class is serialized as follows.

          The method `defaultWriteObject()` is called first to serialize the object except the field `descriptor` which is declared as transient. The field `descriptor` is serialized as follows:

          - If `descriptor` is an instance of the class `ImmutableDescriptor`, the method `write(int val)` is called to write a byte with the value `1`, then the method `writeObject(Object obj)` is called twice to serialize the field names and the field values of the `descriptor`, respectively as a `String[]` and an `Object[]`;
          - Otherwise, the method `write(int val)` is called to write a byte with the value `0`, then the method `writeObject(Object obj)` is called to serialize directly the field `descriptor`.
        Throws:
          `IOException`
        Since:
          1.6

    - ### Serialized Fields

      - #### description

            String description

        The human-readable description of the feature. It is recommended that subclasses call `MBeanFeatureInfo.getDescription()` rather than reading this field, and that they not change it.
        The human-readable description of the feature.

      - #### name

            String name

        The name of the feature. It is recommended that subclasses call `MBeanFeatureInfo.getName()` rather than reading this field, and that they not change it.
        The name of the feature.

  - ### Class javax.management.MBeanInfo extends Object implements Serializable

    serialVersionUID:
      -6451021435135161911L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes an `MBeanInfo` from an `ObjectInputStream`.
        Serial Data:
          For compatibility reasons, an object of this class is deserialized as follows.

          The method `defaultReadObject()` is called first to deserialize the object except the field `descriptor`, which is not serialized in the default way. Then the method `read()` is called to read a byte, the field `descriptor` is deserialized according to the value of the byte value:

          - 1. The method `readObject()` is called twice to obtain the field names (a `String[]`) and the field values (an `Object[]`) of the `descriptor`. The two obtained values then are used to construct an `ImmutableDescriptor` instance for the field `descriptor`;
          - 0. The value for the field `descriptor` is obtained directly by calling the method `readObject()`. If the obtained value is null, the field `descriptor` is set to `EMPTY_DESCRIPTOR`;
          - -1. This means that there is no byte to read and that the object is from an earlier version of the JMX API. The field `descriptor` is set to `EMPTY_DESCRIPTOR`.
          - Any other value. A `StreamCorruptedException` is thrown.
        Throws:
          `IOException`
          `ClassNotFoundException`
        Since:
          1.6

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes an `MBeanInfo` to an `ObjectOutputStream`.
        Serial Data:
          For compatibility reasons, an object of this class is serialized as follows.

          The method `defaultWriteObject()` is called first to serialize the object except the field `descriptor` which is declared as transient. The field `descriptor` is serialized as follows:

          - If `descriptor` is an instance of the class `ImmutableDescriptor`, the method `write(int val)` is called to write a byte with the value `1`, then the method `writeObject(Object obj)` is called twice to serialize the field names and the field values of the `descriptor`, respectively as a `String[]` and an `Object[]`;
          - Otherwise, the method `write(int val)` is called to write a byte with the value `0`, then the method `writeObject(Object obj)` is called to serialize the field `descriptor` directly.
        Throws:
          `IOException`
        Since:
          1.6

    - ### Serialized Fields

      - #### attributes

            MBeanAttributeInfo[] attributes

        The MBean attribute descriptors.

      - #### className

            String className

        The MBean qualified name.

      - #### constructors

            MBeanConstructorInfo[] constructors

        The MBean constructor descriptors.

      - #### description

            String description

        The human readable description of the class.

      - #### notifications

            MBeanNotificationInfo[] notifications

        The MBean notification descriptors.

      - #### operations

            MBeanOperationInfo[] operations

        The MBean operation descriptors.

  - ### Class javax.management.MBeanNotificationInfo extends MBeanFeatureInfo implements Serializable

    serialVersionUID:
      -3888371564530107064L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### types

            String[] types

        The different types of the notification.

  - ### Class javax.management.MBeanOperationInfo extends MBeanFeatureInfo implements Serializable

    serialVersionUID:
      -6178860474881375330L

    - ### Serialized Fields

      - #### impact

            int impact

        The impact of the method, one of `INFO, ACTION, ACTION_INFO, UNKNOWN`.

      - #### signature

            MBeanParameterInfo[] signature

        The signature of the method, that is, the class names of the arguments.

      - #### type

            String type

        The method's return value.

  - ### Class javax.management.MBeanParameterInfo extends MBeanFeatureInfo implements Serializable

    serialVersionUID:
      7432616882776782338L

    - ### Serialized Fields

      - #### type

            String type

        The type or class name of the data.

  - ### Class javax.management.MBeanPermission extends Permission implements Serializable

    serialVersionUID:
      -2416928705275160661L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserialize this object based on its name and actions.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### actions

            String actions

        The actions string.

  - ### Class javax.management.MBeanRegistrationException extends MBeanException implements Serializable

    serialVersionUID:
      4482382455277067805L

  - ### Class javax.management.MBeanServerNotification extends Notification implements Serializable

    serialVersionUID:
      2876477500475969677L

    - ### Serialized Fields

      - #### objectName

            ObjectName objectName

        The object names of the MBeans concerned by this notification

  - ### Class javax.management.MBeanServerPermission extends BasicPermission implements Serializable

    serialVersionUID:
      -5661980843569388590L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

  - ### Class javax.management.MBeanServerPermissionCollection extends PermissionCollection implements Serializable

    serialVersionUID:
      -5661980843569388590L

    - ### Serialized Fields

      - #### collectionPermission

            MBeanServerPermission collectionPermission

        Null if no permissions in collection, otherwise a single permission that is the union of all permissions that have been added.

  - ### Class javax.management.MBeanTrustPermission extends BasicPermission implements Serializable

    serialVersionUID:
      -2952178077029018140L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

  - ### Class javax.management.NotCompliantMBeanException extends OperationsException implements Serializable

    serialVersionUID:
      5175579583207963577L

  - ### Class javax.management.Notification extends EventObject implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `Notification` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes a `Notification` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### message

            String message

        The notification message.

      - #### sequenceNumber

            long sequenceNumber

        The notification sequence number. A serial number which identify particular instance of notification in the context of the notification source.

      - #### source

            Object source

        The object on which the notification initially occurred.

      - #### timeStamp

            long timeStamp

        The notification timestamp. Indicating when the notification was generated

      - #### type

            String type

        The notification type. A string expressed in a dot notation similar to Java properties. An example of a notification type is network.alarm.router

      - #### userData

            Object userData

        The notification user data. Used for whatever other data the notification source wishes to communicate to its consumers

  - ### Class javax.management.NotificationFilterSupport extends Object implements Serializable

    serialVersionUID:
      6579080007561786969L

    - ### Serialized Fields

      - #### enabledTypes

            List<E> enabledTypes

        `Vector` that contains the enabled notification types. The default value is an empty vector.

  - ### Class javax.management.NotQueryExp extends QueryEval implements Serializable

    serialVersionUID:
      5269643775896723397L

    - ### Serialized Fields

      - #### exp

            QueryExp exp

        The negated `QueryExp`

  - ### Class javax.management.NumericValueExp extends QueryEval implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `NumericValueExp` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes a `NumericValueExp` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### val

            Number val

        The numeric value

        The serialVersionUID of this class is `-4679739485102359104L`.

  - ### Class javax.management.ObjectInstance extends Object implements Serializable

    serialVersionUID:
      -4099952623687795850L

    - ### Serialized Fields

      - #### className

            String className

        Class name.

      - #### name

            ObjectName name

        Object name.

  - ### Class javax.management.ObjectName extends Object implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes an `ObjectName` from an `ObjectInputStream`.
        Serial Data:
          - In the current serial form (value of property `jmx.serial.form` differs from `1.0`): the string "<domain>:<properties><wild>", where:
            - <domain> represents the domain part of the `ObjectName`
            - <properties> represents the list of properties, as returned by `ObjectName.getKeyPropertyListString()`
            - <wild> is empty if not `isPropertyPattern`, or is the character "`*`" if `isPropertyPattern` and <properties> is empty, or is "`,*`" if `isPropertyPattern` and <properties> is not empty.
            The intent is that this string could be supplied to the `ObjectName(String)` constructor to produce an equivalent `ObjectName`.
          - In the old serial form (value of property `jmx.serial.form` is `1.0`): <domain> <propertyList> <propertyListString> <canonicalName> <pattern> <propertyPattern>, where:
            - <domain> represents the domain part of the `ObjectName`
            - <propertyList> is the `Hashtable` that contains all the pairs (key,value) for this `ObjectName`
            - <propertyListString> is the `String` representation of the list of properties in any order (not mandatorily a canonical representation)
            - <canonicalName> is the `String` containing this `ObjectName`'s canonical name
            - <pattern> is a boolean which is `true` if this `ObjectName` contains a pattern
            - <propertyPattern> is a boolean which is `true` if this `ObjectName` contains a pattern in the list of properties
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes an `ObjectName` to an `ObjectOutputStream`.
        Serial Data:
          - In the current serial form (value of property `jmx.serial.form` differs from `1.0`): the string "<domain>:<properties><wild>", where:
            - <domain> represents the domain part of the `ObjectName`
            - <properties> represents the list of properties, as returned by `ObjectName.getKeyPropertyListString()`
            - <wild> is empty if not `isPropertyPattern`, or is the character "`*`" if this `isPropertyPattern` and <properties> is empty, or is "`,*`" if `isPropertyPattern` and <properties> is not empty.
            The intent is that this string could be supplied to the `ObjectName(String)` constructor to produce an equivalent `ObjectName`.
          - In the old serial form (value of property `jmx.serial.form` is `1.0`): <domain> <propertyList> <propertyListString> <canonicalName> <pattern> <propertyPattern>, where:
            - <domain> represents the domain part of the `ObjectName`
            - <propertyList> is the `Hashtable` that contains all the pairs (key,value) for this `ObjectName`
            - <propertyListString> is the `String` representation of the list of properties in any order (not mandatorily a canonical representation)
            - <canonicalName> is the `String` containing this `ObjectName`'s canonical name
            - <pattern> is a boolean which is `true` if this `ObjectName` contains a pattern
            - <propertyPattern> is a boolean which is `true` if this `ObjectName` contains a pattern in the list of properties
        Throws:
          `IOException`

  - ### Class javax.management.OperationsException extends JMException implements Serializable

    serialVersionUID:
      -4967597595580536216L

  - ### Class javax.management.OrQueryExp extends QueryEval implements Serializable

    serialVersionUID:
      2962973084421716523L

    - ### Serialized Fields

      - #### exp1

            QueryExp exp1

        The left query expression

      - #### exp2

            QueryExp exp2

        The right query expression

  - ### Class javax.management.QualifiedAttributeValueExp extends AttributeValueExp implements Serializable

    serialVersionUID:
      8832517277410933254L

    - ### Serialized Fields

      - #### className

            String className

        The attribute class name

  - ### Class javax.management.QueryEval extends Object implements Serializable

    serialVersionUID:
      2675899265640874796L

  - ### Class javax.management.ReflectionException extends JMException implements Serializable

    serialVersionUID:
      9170809325636915553L

    - ### Serialized Fields

      - #### exception

            Exception exception

        The wrapped `Exception`

  - ### Class javax.management.RuntimeErrorException extends JMRuntimeException implements Serializable

    serialVersionUID:
      704338937753949796L

    - ### Serialized Fields

      - #### error

            Error error

        The encapsulated `Error`

  - ### Class javax.management.RuntimeMBeanException extends JMRuntimeException implements Serializable

    serialVersionUID:
      5274912751982730171L

    - ### Serialized Fields

      - #### runtimeException

            RuntimeException runtimeException

        The encapsulated `RuntimeException`

  - ### Class javax.management.RuntimeOperationsException extends JMRuntimeException implements Serializable

    serialVersionUID:
      -8408923047489133588L

    - ### Serialized Fields

      - #### runtimeException

            RuntimeException runtimeException

        The encapsulated `RuntimeException`

  - ### Class javax.management.ServiceNotFoundException extends OperationsException implements Serializable

    serialVersionUID:
      -3990675661956646827L

  - ### Class javax.management.StringValueExp extends Object implements Serializable

    serialVersionUID:
      -3256390509806284044L

    - ### Serialized Fields

      - #### val

            String val

        The string literal

- ## Package javax.management.loading

  - ### Class javax.management.loading.MLet extends URLClassLoader implements Serializable

    serialVersionUID:
      3636148327800330130L

    - ### Serialization Methods

      - #### readExternal

            public void readExternal​(ObjectInput in)
                              throws IOException,
                                     ClassNotFoundException,
                                     UnsupportedOperationException

        Restore this MLet's contents from the given `ObjectInput`. Not all implementations support this method. Those that do not throw `UnsupportedOperationException`. A subclass may override this method to support it or to change the format of the read data.

        The format of the read data is not specified, but if an implementation supports `MLet.readExternal(java.io.ObjectInput)` it must also support `MLet.writeExternal(java.io.ObjectOutput)` in such a way that what is written by the latter can be read by the former.

        Throws:
          `IOException` - if a problem occurred while reading.
          `ClassNotFoundException` - if the class for the object being restored cannot be found.
          `UnsupportedOperationException` - if this implementation does not support this operation.

      - #### writeExternal

            public void writeExternal​(ObjectOutput out)
                               throws IOException,
                                      UnsupportedOperationException

        Save this MLet's contents to the given `ObjectOutput`. Not all implementations support this method. Those that do not throw `UnsupportedOperationException`. A subclass may override this method to support it or to change the format of the written data.

        The format of the written data is not specified, but if an implementation supports `MLet.writeExternal(java.io.ObjectOutput)` it must also support `MLet.readExternal(java.io.ObjectInput)` in such a way that what is written by the former can be read by the latter.

        Throws:
          `IOException` - If a problem occurred while writing.
          `UnsupportedOperationException` - If this implementation does not support this operation.

  - ### Class javax.management.loading.PrivateMLet extends MLet implements Serializable

    serialVersionUID:
      2503458973393711979L

    - ### Serialization Methods

      - #### readExternal

            public void readExternal​(ObjectInput in)
                              throws IOException,
                                     ClassNotFoundException,
                                     UnsupportedOperationException

        Restore this MLet's contents from the given `ObjectInput`. Not all implementations support this method. Those that do not throw `UnsupportedOperationException`. A subclass may override this method to support it or to change the format of the read data.

        The format of the read data is not specified, but if an implementation supports `MLet.readExternal(java.io.ObjectInput)` it must also support `MLet.writeExternal(java.io.ObjectOutput)` in such a way that what is written by the latter can be read by the former.

        Throws:
          `IOException` - if a problem occurred while reading.
          `ClassNotFoundException` - if the class for the object being restored cannot be found.
          `UnsupportedOperationException` - if this implementation does not support this operation.

      - #### writeExternal

            public void writeExternal​(ObjectOutput out)
                               throws IOException,
                                      UnsupportedOperationException

        Save this MLet's contents to the given `ObjectOutput`. Not all implementations support this method. Those that do not throw `UnsupportedOperationException`. A subclass may override this method to support it or to change the format of the written data.

        The format of the written data is not specified, but if an implementation supports `MLet.writeExternal(java.io.ObjectOutput)` it must also support `MLet.readExternal(java.io.ObjectInput)` in such a way that what is written by the former can be read by the latter.

        Throws:
          `IOException` - If a problem occurred while writing.
          `UnsupportedOperationException` - If this implementation does not support this operation.

- ## Package javax.management.modelmbean

  - ### Class javax.management.modelmbean.DescriptorSupport extends Object implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `DescriptorSupport` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes a `DescriptorSupport` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### descriptor

            HashMap<K,V> descriptor

        The collection of fields representing this descriptor

  - ### Class javax.management.modelmbean.InvalidTargetObjectTypeException extends Exception implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes an `InvalidTargetObjectTypeException` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes an `InvalidTargetObjectTypeException` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### exception

            Exception exception

        Encapsulated Exception

  - ### Class javax.management.modelmbean.ModelMBeanAttributeInfo extends MBeanAttributeInfo implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `ModelMBeanAttributeInfo` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes a `ModelMBeanAttributeInfo` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### attrDescriptor

            Descriptor attrDescriptor

        The Descriptor containing the metadata corresponding to this attribute

  - ### Class javax.management.modelmbean.ModelMBeanConstructorInfo extends MBeanConstructorInfo implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `ModelMBeanConstructorInfo` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes a `ModelMBeanConstructorInfo` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### consDescriptor

            Descriptor consDescriptor

        The Descriptor containing the metadata for this instance

  - ### Class javax.management.modelmbean.ModelMBeanInfoSupport extends MBeanInfo implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `ModelMBeanInfoSupport` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes a `ModelMBeanInfoSupport` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### modelMBeanAttributes

            ModelMBeanAttributeInfo[] modelMBeanAttributes

        The array of ModelMBeanAttributeInfo objects which have descriptors

      - #### modelMBeanConstructors

            MBeanConstructorInfo[] modelMBeanConstructors

        The array of ModelMBeanConstructorInfo objects which have descriptors

      - #### modelMBeanDescriptor

            Descriptor modelMBeanDescriptor

        The descriptor containing MBean wide policy

      - #### modelMBeanNotifications

            MBeanNotificationInfo[] modelMBeanNotifications

        The array of ModelMBeanNotificationInfo objects which have descriptors

      - #### modelMBeanOperations

            MBeanOperationInfo[] modelMBeanOperations

        The array of ModelMBeanOperationInfo objects which have descriptors

  - ### Class javax.management.modelmbean.ModelMBeanNotificationInfo extends MBeanNotificationInfo implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `ModelMBeanNotificationInfo` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes a `ModelMBeanNotificationInfo` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### notificationDescriptor

            Descriptor notificationDescriptor

        The descriptor containing the appropriate metadata for this instance

  - ### Class javax.management.modelmbean.ModelMBeanOperationInfo extends MBeanOperationInfo implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `ModelMBeanOperationInfo` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes a `ModelMBeanOperationInfo` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### operationDescriptor

            Descriptor operationDescriptor

        The descriptor containing the appropriate metadata for this instance

  - ### Class javax.management.modelmbean.XMLParseException extends Exception implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes an `XMLParseException` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes an `XMLParseException` to an `ObjectOutputStream`.
        Throws:
          `IOException`

- ## Package javax.management.monitor

  - ### Class javax.management.monitor.MonitorNotification extends Notification implements Serializable

    serialVersionUID:
      -4608189663661929204L

    - ### Serialized Fields

      - #### derivedGauge

            Object derivedGauge

        Monitor notification derived gauge.

      - #### observedAttribute

            String observedAttribute

        Monitor notification observed attribute.

      - #### observedObject

            ObjectName observedObject

        Monitor notification observed object.

      - #### trigger

            Object trigger

        Monitor notification release mechanism. This value is used to keep the threshold/string (depending on the monitor type) that triggered off this notification.

  - ### Class javax.management.monitor.MonitorSettingException extends JMRuntimeException implements Serializable

    serialVersionUID:
      -8807913418190202007L

- ## Package javax.management.openmbean

  - ### Class javax.management.openmbean.ArrayType extends OpenType<T> implements Serializable

    serialVersionUID:
      720504429830309770L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()
                                throws ObjectStreamException

        Replace/resolve the object read from the stream before it is returned to the caller.
        Serial Data:
          The new serial form of this class defines a new serializable `boolean` field `primitiveArray`. In order to guarantee the interoperability with previous versions of this class the new serial form must continue to refer to primitive wrapper types even when the `ArrayType` instance describes a primitive type array. So when `primitiveArray` is `true` the `className`, `typeName` and `description` serializable fields are converted into primitive types before the deserialized `ArrayType` instance is return to the caller. The `elementType` field always returns the `SimpleType` corresponding to the primitive wrapper type of the array's primitive type.

          Therefore the following serializable fields are deserialized as follows:

          - if `primitiveArray` is `true` the `className` field is deserialized by replacing the array's component primitive wrapper type by the corresponding array's component primitive type, e.g. `"[[Ljava.lang.Integer;"` will be deserialized as `"[[I"`.
          - if `primitiveArray` is `true` the `typeName` field is deserialized by replacing the array's component primitive wrapper type by the corresponding array's component primitive type, e.g. `"[[Ljava.lang.Integer;"` will be deserialized as `"[[I"`.
          - if `primitiveArray` is `true` the `description` field is deserialized by replacing the array's component primitive wrapper type by the corresponding array's component primitive type, e.g. `"2-dimension array of java.lang.Integer"` will be deserialized as `"2-dimension array of int"`.
        Throws:
          `ObjectStreamException`
        Since:
          1.6

      - #### writeReplace

            private Object writeReplace​()
                                 throws ObjectStreamException

        Nominate a replacement for this object in the stream before the object is written.
        Serial Data:
          The new serial form of this class defines a new serializable `boolean` field `primitiveArray`. In order to guarantee the interoperability with previous versions of this class the new serial form must continue to refer to primitive wrapper types even when the `ArrayType` instance describes a primitive type array. So when `primitiveArray` is `true` the `className`, `typeName` and `description` serializable fields are converted into wrapper types before the serialized `ArrayType` instance is written to the stream. The `elementType` field always returns the `SimpleType` corresponding to the primitive wrapper type of the array's primitive type.

          Therefore the following serializable fields are serialized as follows:

          - if `primitiveArray` is `true` the `className` field is serialized by replacing the array's component primitive type by the corresponding array's component primitive wrapper type, e.g. `"[[I"` will be serialized as `"[[Ljava.lang.Integer;"`.
          - if `primitiveArray` is `true` the `typeName` field is serialized by replacing the array's component primitive type by the corresponding array's component primitive wrapper type, e.g. `"[[I"` will be serialized as `"[[Ljava.lang.Integer;"`.
          - if `primitiveArray` is `true` the `description` field is serialized by replacing the array's component primitive type by the corresponding array's component primitive wrapper type, e.g. `"2-dimension array of int"` will be serialized as `"2-dimension array of java.lang.Integer"`.
        Throws:
          `ObjectStreamException`
        Since:
          1.6

    - ### Serialized Fields

      - #### dimension

            int dimension

        The dimension of arrays described by this `ArrayType` instance.

      - #### elementType

            OpenType<T> elementType

        The open type of element values contained in the arrays described by this `ArrayType` instance.

      - #### primitiveArray

            boolean primitiveArray

        This flag indicates whether this `ArrayType` describes a primitive array.
        Since:
          1.6

  - ### Class javax.management.openmbean.CompositeDataSupport extends Object implements Serializable

    serialVersionUID:
      8003518976613702244L

    - ### Serialized Fields

      - #### compositeType

            CompositeType compositeType

        The composite type of this composite data instance.

      - #### contents

            SortedMap<K,V> contents

        Internal representation of the mapping of item names to their respective values. A `SortedMap` is used for faster retrieval of elements.

  - ### Class javax.management.openmbean.CompositeType extends OpenType<CompositeData> implements Serializable

    serialVersionUID:
      -5366242454346948798L

    - ### Serialized Fields

      - #### nameToDescription

            TreeMap<K,V> nameToDescription

        Sorted mapping of the item names to their descriptions

      - #### nameToType

            TreeMap<K,V> nameToType

        Sorted mapping of the item names to their open types

  - ### Class javax.management.openmbean.InvalidKeyException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      4224269443946322062L

  - ### Class javax.management.openmbean.InvalidOpenTypeException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      -2837312755412327534L

  - ### Class javax.management.openmbean.KeyAlreadyExistsException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      1845183636745282866L

  - ### Class javax.management.openmbean.OpenDataException extends JMException implements Serializable

    serialVersionUID:
      8346311255433349870L

  - ### Class javax.management.openmbean.OpenMBeanAttributeInfoSupport extends MBeanAttributeInfo implements Serializable

    serialVersionUID:
      -4867215622149721849L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

        An object serialized in a version of the API before Descriptors were added to this class will have an empty or null Descriptor. For consistency with our behavior in this version, we must replace the object with one where the Descriptors reflect the same values of openType, defaultValue, etc.

    - ### Serialized Fields

      - #### defaultValue

            Object defaultValue

        The open mbean attribute's default value

      - #### legalValues

            Set<E> legalValues

        The open mbean attribute's legal values. This `Set` is unmodifiable

      - #### maxValue

            Comparable<T> maxValue

        The open mbean attribute's max value

      - #### minValue

            Comparable<T> minValue

        The open mbean attribute's min value

      - #### openType

            OpenType<T> openType

        The open mbean attribute's open type

  - ### Class javax.management.openmbean.OpenMBeanConstructorInfoSupport extends MBeanConstructorInfo implements Serializable

    serialVersionUID:
      -4400441579007477003L

  - ### Class javax.management.openmbean.OpenMBeanInfoSupport extends MBeanInfo implements Serializable

    serialVersionUID:
      4349395935420511492L

  - ### Class javax.management.openmbean.OpenMBeanOperationInfoSupport extends MBeanOperationInfo implements Serializable

    serialVersionUID:
      4996859732565369366L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

        An object serialized in a version of the API before Descriptors were added to this class will have an empty or null Descriptor. For consistency with our behavior in this version, we must replace the object with one where the Descriptors reflect the same value of returned openType.

    - ### Serialized Fields

      - #### returnOpenType

            OpenType<T> returnOpenType

        The open type of the values returned by the operation described by this `OpenMBeanOperationInfo` instance

  - ### Class javax.management.openmbean.OpenMBeanParameterInfoSupport extends MBeanParameterInfo implements Serializable

    serialVersionUID:
      -7235016873758443122L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

        An object serialized in a version of the API before Descriptors were added to this class will have an empty or null Descriptor. For consistency with our behavior in this version, we must replace the object with one where the Descriptors reflect the same values of openType, defaultValue, etc.

    - ### Serialized Fields

      - #### defaultValue

            Object defaultValue

        The open mbean parameter's default value

      - #### legalValues

            Set<E> legalValues

        The open mbean parameter's legal values. This `Set` is unmodifiable

      - #### maxValue

            Comparable<T> maxValue

        The open mbean parameter's max value

      - #### minValue

            Comparable<T> minValue

        The open mbean parameter's min value

      - #### openType

            OpenType<T> openType

        The open mbean parameter's open type

  - ### Class javax.management.openmbean.OpenType extends Object implements Serializable

    serialVersionUID:
      -9195195325186646468L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes an `OpenType` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### className

            String className

        The fully qualified Java class name of open data values this type describes.

      - #### description

            String description

        The type description (should not be null or empty).

      - #### typeName

            String typeName

        The name given to this type (should not be null or empty).

  - ### Class javax.management.openmbean.SimpleType extends OpenType<T> implements Serializable

    serialVersionUID:
      2215577471957694503L

    - ### Serialization Methods

      - #### readResolve

            public Object readResolve​()
                               throws ObjectStreamException

        Replace an object read from an `ObjectInputStream` with the unique instance for that value.
        Throws:
          `ObjectStreamException` - if the read object cannot be resolved.

  - ### Class javax.management.openmbean.TabularDataSupport extends Object implements Serializable

    serialVersionUID:
      5720150593236309827L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `TabularDataSupport` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### dataMap

            Map<K,V> dataMap

        This tabular data instance's contents: a `HashMap`

      - #### tabularType

            TabularType tabularType

        This tabular data instance's tabular type

  - ### Class javax.management.openmbean.TabularType extends OpenType<TabularData> implements Serializable

    serialVersionUID:
      6554071860220659261L

    - ### Serialized Fields

      - #### indexNames

            List<E> indexNames

        The items used to index each row element, kept in the order the user gave This is an unmodifiable `ArrayList`

      - #### rowType

            CompositeType rowType

        The composite type of rows

- ## Package javax.management.relation

  - ### Class javax.management.relation.InvalidRelationIdException extends RelationException implements Serializable

    serialVersionUID:
      -7115040321202754171L

  - ### Class javax.management.relation.InvalidRelationServiceException extends RelationException implements Serializable

    serialVersionUID:
      3400722103759507559L

  - ### Class javax.management.relation.InvalidRelationTypeException extends RelationException implements Serializable

    serialVersionUID:
      3007446608299169961L

  - ### Class javax.management.relation.InvalidRoleInfoException extends RelationException implements Serializable

    serialVersionUID:
      7517834705158932074L

  - ### Class javax.management.relation.InvalidRoleValueException extends RelationException implements Serializable

    serialVersionUID:
      -2066091747301983721L

  - ### Class javax.management.relation.MBeanServerNotificationFilter extends NotificationFilterSupport implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes an `MBeanServerNotificationFilter` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes an `MBeanServerNotificationFilter` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### deselectedNames

            List<E> deselectedNames

        List of ObjectNames with no interest
        - `null` means that all ObjectNames are implicitly deselected (check for explicit selections))
        - Empty vector means that no ObjectName is explicitly deselected

      - #### selectedNames

            List<E> selectedNames

        List of ObjectNames of interest
        - `null` means that all ObjectNames are implicitly selected (check for explicit deselections)
        - Empty vector means that no ObjectName is explicitly selected

  - ### Class javax.management.relation.RelationException extends JMException implements Serializable

    serialVersionUID:
      5434016005679159613L

  - ### Class javax.management.relation.RelationNotFoundException extends RelationException implements Serializable

    serialVersionUID:
      -3793951411158559116L

  - ### Class javax.management.relation.RelationNotification extends Notification implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `RelationNotification` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes a `RelationNotification` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### newRoleValue

            List<E> newRoleValue

        New role value (ArrayList of ObjectNames) (only for role update)

      - #### oldRoleValue

            List<E> oldRoleValue

        Old role value (ArrayList of ObjectNames) (only for role update)

      - #### relationId

            String relationId

        Relation identifier of created/removed/updated relation

      - #### relationObjName

            ObjectName relationObjName

        ObjectName of the relation MBean of created/removed/updated relation (only if the relation is represented by an MBean)

      - #### relationTypeName

            String relationTypeName

        Relation type name of created/removed/updated relation

      - #### roleName

            String roleName

        Name of updated role (only for role update)

      - #### unregisterMBeanList

            List<E> unregisterMBeanList

        List of ObjectNames of referenced MBeans to be unregistered due to relation removal

  - ### Class javax.management.relation.RelationServiceNotRegisteredException extends RelationException implements Serializable

    serialVersionUID:
      8454744887157122910L

  - ### Class javax.management.relation.RelationTypeNotFoundException extends RelationException implements Serializable

    serialVersionUID:
      1274155316284300752L

  - ### Class javax.management.relation.RelationTypeSupport extends Object implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `RelationTypeSupport` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes a `RelationTypeSupport` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### isInRelationService

            boolean isInRelationService

        Flag specifying whether the relation type has been declared in the Relation Service (so can no longer be updated)

      - #### roleName2InfoMap

            Map<K,V> roleName2InfoMap

        Map holding the mapping: <role name (String)> -> <role info (RoleInfo object)>

      - #### typeName

            String typeName

        Relation type name

  - ### Class javax.management.relation.Role extends Object implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `Role` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes a `Role` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### name

            String name

        Role name

      - #### objectNameList

            List<E> objectNameList

        List of ObjectNames of referenced MBeans

  - ### Class javax.management.relation.RoleInfo extends Object implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `RoleInfo` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes a `RoleInfo` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### description

            String description

        Role description

      - #### isReadable

            boolean isReadable

        Read access mode: `true` if role is readable

      - #### isWritable

            boolean isWritable

        Write access mode: `true` if role is writable

      - #### maxDegree

            int maxDegree

        Maximum degree (i.e. maximum number of referenced MBeans in corresponding role)

      - #### minDegree

            int minDegree

        Minimum degree (i.e. minimum number of referenced MBeans in corresponding role)

      - #### name

            String name

        Role name

      - #### referencedMBeanClassName

            String referencedMBeanClassName

        Name of class of MBean(s) expected to be referenced in corresponding role

  - ### Class javax.management.relation.RoleInfoNotFoundException extends RelationException implements Serializable

    serialVersionUID:
      4394092234999959939L

  - ### Class javax.management.relation.RoleList extends ArrayList<Object> implements Serializable

    serialVersionUID:
      5568344346499649313L

  - ### Class javax.management.relation.RoleNotFoundException extends RelationException implements Serializable

    serialVersionUID:
      -2986406101364031481L

  - ### Class javax.management.relation.RoleResult extends Object implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `RoleResult` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes a `RoleResult` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### roleList

            RoleList roleList

        List of roles successfully accessed

      - #### unresolvedRoleList

            RoleUnresolvedList unresolvedRoleList

        List of roles unsuccessfully accessed

  - ### Class javax.management.relation.RoleUnresolved extends Object implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Deserializes a `RoleUnresolved` from an `ObjectInputStream`.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Serializes a `RoleUnresolved` to an `ObjectOutputStream`.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### problemType

            int problemType

        Problem type

      - #### roleName

            String roleName

        Role name

      - #### roleValue

            List<E> roleValue

        Role value (List of ObjectName objects)

  - ### Class javax.management.relation.RoleUnresolvedList extends ArrayList<Object> implements Serializable

    serialVersionUID:
      4054902803091433324L

- ## Package javax.management.remote

  - ### Class javax.management.remote.JMXConnectionNotification extends Notification implements Serializable

    serialVersionUID:
      -2331308725952627538L

    - ### Serialized Fields

      - #### connectionId

            String connectionId

        The connection ID to which this notification pertains.
        See Also:
          `JMXConnectionNotification.getConnectionId()`

  - ### Class javax.management.remote.JMXPrincipal extends Object implements Serializable

    serialVersionUID:
      -4184480100214577411L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### name

            String name

        The JMX Remote API name for the identity represented by this `JMXPrincipal` object.
        See Also:
          `JMXPrincipal.getName()`

  - ### Class javax.management.remote.JMXProviderException extends IOException implements Serializable

    serialVersionUID:
      -3166703627550447198L

    - ### Serialized Fields

      - #### cause

            Throwable cause

        An exception that caused this exception to be thrown. This field may be null.
        See Also:
          `JMXProviderException.getCause()`

  - ### Class javax.management.remote.JMXServerErrorException extends IOException implements Serializable

    serialVersionUID:
      3996732239558744666L

    - ### Serialized Fields

      - #### cause

            Error cause

        An `Error` that caused this exception to be thrown.
        See Also:
          `JMXServerErrorException.getCause()`

  - ### Class javax.management.remote.JMXServiceURL extends Object implements Serializable

    serialVersionUID:
      8173364409860779292L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream inputStream)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### host

            String host

        The value returned by `JMXServiceURL.getHost()`.

      - #### port

            int port

        The value returned by `JMXServiceURL.getPort()`.

      - #### protocol

            String protocol

        The value returned by `JMXServiceURL.getProtocol()`.

      - #### urlPath

            String urlPath

        The value returned by `JMXServiceURL.getURLPath()`.

  - ### Class javax.management.remote.NotificationResult extends Object implements Serializable

    serialVersionUID:
      1191800228721395279L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### earliestSequenceNumber

            long earliestSequenceNumber

      - #### nextSequenceNumber

            long nextSequenceNumber

      - #### targetedNotifications

            TargetedNotification[] targetedNotifications

  - ### Class javax.management.remote.SubjectDelegationPermission extends BasicPermission implements Serializable

    serialVersionUID:
      1481618113008682343L

  - ### Class javax.management.remote.TargetedNotification extends Object implements Serializable

    serialVersionUID:
      7676132089779300926L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### id

            Integer id

        The ID of the listener to which the notification is targeted.
        See Also:
          `TargetedNotification.getListenerID()`

      - #### notif

            Notification notif

        A notification to transmit to the other side.
        See Also:
          `TargetedNotification.getNotification()`

- ## Package javax.management.remote.rmi

  - ### Class javax.management.remote.rmi.RMIConnectionImpl_Stub extends RemoteStub implements Serializable

    serialVersionUID:
      2L

  - ### Class javax.management.remote.rmi.RMIConnector extends Object implements Serializable

    serialVersionUID:
      817323035842634473L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Read RMIConnector fields from an `ObjectInputStream`. Calls `s.defaultReadObject()` and then initializes all transient variables that need initializing.
        Throws:
          `InvalidObjectException` - if none of rmiServer stub or jmxServiceURL are set.
          `IOException`
          `ClassNotFoundException`
        See Also:
          `RMIConnector(JMXServiceURL,Map)`, `RMIConnector(RMIServer,Map)`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Writes the RMIConnector fields to an `ObjectOutputStream`.

        Connects the underlying RMIServer stub to an ORB, if needed, before serializing it. This is done using the environment map that was provided to the constructor, if any, and as documented in `javax.management.remote.rmi`.

        This method then calls `s.defaultWriteObject()`. Usually, rmiServer is null if this object was constructed with a JMXServiceURL, and jmxServiceURL is null if this object is constructed with a RMIServer stub.

        Note that the environment Map is not serialized, since the objects it contains are assumed to be contextual and relevant only with respect to the local environment (class loader, ORB, etc...).

        After an RMIConnector is deserialized, it is assumed that the user will call `RMIConnector.connect(Map)`, providing a new Map that can contain values which are contextually relevant to the new local environment.

        Since connection to the ORB is needed prior to serializing, and since the ORB to connect to is one of those contextual parameters, it is not recommended to re-serialize a just de-serialized object - as the de-serialized object has no map. Thus, when an RMIConnector object is needed for serialization or transmission to a remote application, it is recommended to obtain a new RMIConnector stub by calling `RMIConnectorServer.toJMXConnector(Map)`.

        Throws:
          `InvalidObjectException` - if none of rmiServer stub or jmxServiceURL are set.
          `IOException`
        See Also:
          `RMIConnector(JMXServiceURL,Map)`, `RMIConnector(RMIServer,Map)`

    - ### Serialized Fields

      - #### jmxServiceURL

            JMXServiceURL jmxServiceURL

        The JMXServiceURL of the RMI JMX Connector server to which this client connector will be connected. This field can be null when rmiServer is not null. If both rmiServer and jmxServiceURL are null then serialization will fail.
        See Also:
          `RMIConnector(JMXServiceURL,Map)`

      - #### rmiServer

            RMIServer rmiServer

        The RMIServer stub of the RMI JMX Connector server to which this client connector is (or will be) connected. This field can be null when jmxServiceURL is not null. This includes the case where jmxServiceURL contains a serialized RMIServer stub. If both rmiServer and jmxServiceURL are null then serialization will fail.
        See Also:
          `RMIConnector(RMIServer,Map)`

  - ### Class javax.management.remote.rmi.RMIServerImpl_Stub extends RemoteStub implements Serializable

    serialVersionUID:
      2L

- ## Package javax.management.timer

  - ### Class javax.management.timer.TimerNotification extends Notification implements Serializable

    serialVersionUID:
      1798492029603825750L

    - ### Serialized Fields

      - #### notificationID

            Integer notificationID

        Timer notification identifier. This identifier is used to retrieve a timer notification from the timer list of notifications.

- ## Package javax.naming

  - ### Class javax.naming.AuthenticationException extends NamingSecurityException implements Serializable

    serialVersionUID:
      3678497619904568096L

  - ### Class javax.naming.AuthenticationNotSupportedException extends NamingSecurityException implements Serializable

    serialVersionUID:
      -7149033933259492300L

  - ### Class javax.naming.BinaryRefAddr extends RefAddr implements Serializable

    serialVersionUID:
      -3415254970957330361L

    - ### Serialized Fields

      - #### buf

            byte[] buf

        Contains the bytes of the address. This field is initialized by the constructor and returned using getAddressBytes() and getAddressContents().

  - ### Class javax.naming.Binding extends NameClassPair implements Serializable

    serialVersionUID:
      8839217842691845890L

    - ### Serialized Fields

      - #### boundObj

            Object boundObj

        Contains this binding's object. It is initialized by the constructor and can be updated using `setObject`.
        See Also:
          `Binding.getObject()`, `Binding.setObject(java.lang.Object)`

  - ### Class javax.naming.CannotProceedException extends NamingException implements Serializable

    serialVersionUID:
      1219724816191576813L

    - ### Serialized Fields

      - #### altName

            Name altName

        Contains the name of the resolved object, relative to the context `altNameCtx`. It is a composite name. If null, then no name is specified. See the `javax.naming.spi.ObjectFactory.getObjectInstance` method for details on how this is used.

        This field is initialized to null. It should not be manipulated directly: it should be accessed and updated using getAltName() and setAltName().

        See Also:
          `CannotProceedException.getAltName()`, `CannotProceedException.setAltName(javax.naming.Name)`, `CannotProceedException.altNameCtx`, `ObjectFactory.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>)`

      - #### altNameCtx

            Context altNameCtx

        Contains the context relative to which `altName` is specified. If null, then the default initial context is implied. See the `javax.naming.spi.ObjectFactory.getObjectInstance` method for details on how this is used.

        This field is initialized to null. It should not be manipulated directly: it should be accessed and updated using getAltNameCtx() and setAltNameCtx().

        See Also:
          `CannotProceedException.getAltNameCtx()`, `CannotProceedException.setAltNameCtx(javax.naming.Context)`, `CannotProceedException.altName`, `ObjectFactory.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>)`

      - #### environment

            Hashtable<K,V> environment

        Contains the environment relevant for the Context or DirContext method that cannot proceed.

        This field is initialized to null. It should not be manipulated directly: it should be accessed and updated using getEnvironment() and setEnvironment().

        See Also:
          `CannotProceedException.getEnvironment()`, `CannotProceedException.setEnvironment(java.util.Hashtable<?, ?>)`

      - #### remainingNewName

            Name remainingNewName

        Contains the remaining unresolved part of the second "name" argument to Context.rename(). This information is necessary for continuing the Context.rename() operation.

        This field is initialized to null. It should not be manipulated directly: it should be accessed and updated using getRemainingName() and setRemainingName().

        See Also:
          `CannotProceedException.getRemainingNewName()`, `CannotProceedException.setRemainingNewName(javax.naming.Name)`

  - ### Class javax.naming.CommunicationException extends NamingException implements Serializable

    serialVersionUID:
      3618507780299986611L

  - ### Class javax.naming.CompositeName extends Object implements Serializable

    serialVersionUID:
      1667768148915813118L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Overridden to avoid implementation dependency.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Overridden to avoid implementation dependency.
        Serial Data:
          The number of components (an `int`) followed by the individual components (each a `String`).
        Throws:
          `IOException`

  - ### Class javax.naming.CompoundName extends Object implements Serializable

    serialVersionUID:
      3513100557083972036L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Overridden to avoid implementation dependency.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Overridden to avoid implementation dependency.
        Serial Data:
          The syntax `Properties`, followed by the number of components (an `int`), and the individual components (each a `String`).
        Throws:
          `IOException`

  - ### Class javax.naming.ConfigurationException extends NamingException implements Serializable

    serialVersionUID:
      -2535156726228855704L

  - ### Class javax.naming.ContextNotEmptyException extends NamingException implements Serializable

    serialVersionUID:
      1090963683348219877L

  - ### Class javax.naming.InsufficientResourcesException extends NamingException implements Serializable

    serialVersionUID:
      6227672693037844532L

  - ### Class javax.naming.InterruptedNamingException extends NamingException implements Serializable

    serialVersionUID:
      6404516648893194728L

  - ### Class javax.naming.InvalidNameException extends NamingException implements Serializable

    serialVersionUID:
      -8370672380823801105L

  - ### Class javax.naming.LimitExceededException extends NamingException implements Serializable

    serialVersionUID:
      -776898738660207856L

  - ### Class javax.naming.LinkException extends NamingException implements Serializable

    serialVersionUID:
      -7967662604076777712L

    - ### Serialized Fields

      - #### linkExplanation

            String linkExplanation

        Contains the exception of why resolution of the link failed. Can be null. This field is initialized by the constructors. You should access and manipulate this field through its get and set methods.
        See Also:
          `LinkException.getLinkExplanation()`, `LinkException.setLinkExplanation(java.lang.String)`

      - #### linkRemainingName

            Name linkRemainingName

        Contains the remaining link name that has not been resolved yet. It is a composite name and can be null. This field is initialized by the constructors. You should access and manipulate this field through its get and set methods.
        See Also:
          `LinkException.getLinkRemainingName()`, `LinkException.setLinkRemainingName(javax.naming.Name)`

      - #### linkResolvedName

            Name linkResolvedName

        Contains the part of the link that has been successfully resolved. It is a composite name and can be null. This field is initialized by the constructors. You should access and manipulate this field through its get and set methods.
        See Also:
          `LinkException.getLinkResolvedName()`, `LinkException.setLinkResolvedName(javax.naming.Name)`

      - #### linkResolvedObj

            Object linkResolvedObj

        Contains the object to which resolution of the part of the link was successful. Can be null. This field is initialized by the constructors. You should access and manipulate this field through its get and set methods.
        See Also:
          `LinkException.getLinkResolvedObj()`, `LinkException.setLinkResolvedObj(java.lang.Object)`

  - ### Class javax.naming.LinkLoopException extends LinkException implements Serializable

    serialVersionUID:
      -3119189944325198009L

  - ### Class javax.naming.LinkRef extends Reference implements Serializable

    serialVersionUID:
      -5386290613498931298L

  - ### Class javax.naming.MalformedLinkException extends LinkException implements Serializable

    serialVersionUID:
      -3066740437737830242L

  - ### Class javax.naming.NameAlreadyBoundException extends NamingException implements Serializable

    serialVersionUID:
      -8491441000356780586L

  - ### Class javax.naming.NameClassPair extends Object implements Serializable

    serialVersionUID:
      5620776610160863339L

    - ### Serialized Fields

      - #### className

            String className

        Contains the class name contained in this NameClassPair. It is initialized by the constructor and can be updated using `setClassName()`.
        See Also:
          `NameClassPair.getClassName()`, `NameClassPair.setClassName(java.lang.String)`

      - #### fullName

            String fullName

        Contains the full name of this NameClassPair within its own namespace. It is initialized using `setNameInNamespace()`
        See Also:
          `NameClassPair.getNameInNamespace()`, `NameClassPair.setNameInNamespace(java.lang.String)`

      - #### isRel

            boolean isRel

        Records whether the name of this `NameClassPair` is relative to the target context. It is initialized by the constructor and can be updated using `setRelative()`.
        See Also:
          `NameClassPair.isRelative()`, `NameClassPair.setRelative(boolean)`, `NameClassPair.getName()`, `NameClassPair.setName(java.lang.String)`

      - #### name

            String name

        Contains the name of this NameClassPair. It is initialized by the constructor and can be updated using `setName()`.
        See Also:
          `NameClassPair.getName()`, `NameClassPair.setName(java.lang.String)`

  - ### Class javax.naming.NameNotFoundException extends NamingException implements Serializable

    serialVersionUID:
      -8007156725367842053L

  - ### Class javax.naming.NamingException extends Exception implements Serializable

    serialVersionUID:
      -1299181962103167177L

    - ### Serialized Fields

      - #### remainingName

            Name remainingName

        Contains the remaining name that has not been resolved yet. It is a composite name and can be null. This field is initialized by the constructors. You should access and manipulate this field through its get, set, "append" methods.
        See Also:
          `NamingException.getRemainingName()`, `NamingException.setRemainingName(javax.naming.Name)`, `NamingException.appendRemainingName(javax.naming.Name)`, `NamingException.appendRemainingComponent(java.lang.String)`

      - #### resolvedName

            Name resolvedName

        Contains the part of the name that has been successfully resolved. It is a composite name and can be null. This field is initialized by the constructors. You should access and manipulate this field through its get and set methods.
        See Also:
          `NamingException.getResolvedName()`, `NamingException.setResolvedName(javax.naming.Name)`

      - #### resolvedObj

            Object resolvedObj

        Contains the object to which resolution of the part of the name was successful. Can be null. This field is initialized by the constructors. You should access and manipulate this field through its get and set methods.
        See Also:
          `NamingException.getResolvedObj()`, `NamingException.setResolvedObj(java.lang.Object)`

      - #### rootException

            Throwable rootException

        Contains the original exception that caused this NamingException to be thrown. This field is set if there is additional information that could be obtained from the original exception, or if the original exception could not be mapped to a subclass of NamingException. Can be null.

        This field predates the general-purpose exception chaining facility. The `NamingException.initCause(Throwable)` and `NamingException.getCause()` methods are now the preferred means of accessing this information.

        See Also:
          `NamingException.getRootCause()`, `NamingException.setRootCause(Throwable)`, `NamingException.initCause(Throwable)`, `NamingException.getCause()`

  - ### Class javax.naming.NamingSecurityException extends NamingException implements Serializable

    serialVersionUID:
      5855287647294685775L

  - ### Class javax.naming.NoInitialContextException extends NamingException implements Serializable

    serialVersionUID:
      -3413733186901258623L

  - ### Class javax.naming.NoPermissionException extends NamingSecurityException implements Serializable

    serialVersionUID:
      8395332708699751775L

  - ### Class javax.naming.NotContextException extends NamingException implements Serializable

    serialVersionUID:
      849752551644540417L

  - ### Class javax.naming.OperationNotSupportedException extends NamingException implements Serializable

    serialVersionUID:
      5493232822427682064L

  - ### Class javax.naming.PartialResultException extends NamingException implements Serializable

    serialVersionUID:
      2572144970049426786L

  - ### Class javax.naming.RefAddr extends Object implements Serializable

    serialVersionUID:
      -1468165120479154358L

    - ### Serialized Fields

      - #### addrType

            String addrType

        Contains the type of this address.

  - ### Class javax.naming.Reference extends Object implements Serializable

    serialVersionUID:
      -1673475790065791735L

    - ### Serialized Fields

      - #### addrs

            Vector<E> addrs

        Contains the addresses contained in this Reference. Initialized by constructor.

      - #### classFactory

            String classFactory

        Contains the name of the factory class for creating an instance of the object to which this Reference refers. Initialized to null.

      - #### classFactoryLocation

            String classFactoryLocation

        Contains the location of the factory class. Initialized to null.

      - #### className

            String className

        Contains the fully-qualified name of the class of the object to which this Reference refers.
        See Also:
          `Class.getName()`

  - ### Class javax.naming.ReferralException extends NamingException implements Serializable

    serialVersionUID:
      -2881363844695698876L

  - ### Class javax.naming.ServiceUnavailableException extends NamingException implements Serializable

    serialVersionUID:
      -4996964726566773444L

  - ### Class javax.naming.SizeLimitExceededException extends LimitExceededException implements Serializable

    serialVersionUID:
      7129289564879168579L

  - ### Class javax.naming.StringRefAddr extends RefAddr implements Serializable

    serialVersionUID:
      -8913762495138505527L

    - ### Serialized Fields

      - #### contents

            String contents

        Contains the contents of this address. Can be null.

  - ### Class javax.naming.TimeLimitExceededException extends LimitExceededException implements Serializable

    serialVersionUID:
      -3597009011385034696L

- ## Package javax.naming.directory

  - ### Class javax.naming.directory.AttributeInUseException extends NamingException implements Serializable

    serialVersionUID:
      4437710305529322564L

  - ### Class javax.naming.directory.AttributeModificationException extends NamingException implements Serializable

    serialVersionUID:
      8060676069678710186L

    - ### Serialized Fields

      - #### unexecs

            ModificationItem[] unexecs

        Contains the possibly null list of unexecuted modifications.

  - ### Class javax.naming.directory.BasicAttribute extends Object implements Serializable

    serialVersionUID:
      6743528196119291326L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Overridden to avoid exposing implementation details.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Overridden to avoid exposing implementation details
        Serial Data:
          Default field (the attribute ID -- a String), followed by the number of values (an int), and the individual values.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### attrID

            String attrID

        Holds the attribute's id. It is initialized by the public constructor and cannot be null unless methods in BasicAttribute that use attrID have been overridden.

      - #### ordered

            boolean ordered

        A flag for recording whether this attribute's values are ordered.

  - ### Class javax.naming.directory.BasicAttributes extends Object implements Serializable

    serialVersionUID:
      4980164073184639448L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Overridden to avoid exposing implementation details.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Overridden to avoid exposing implementation details.
        Serial Data:
          Default field (ignoreCase flag -- a boolean), followed by the number of attributes in the set (an int), and then the individual Attribute objects.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### ignoreCase

            boolean ignoreCase

        Indicates whether case of attribute ids is ignored.

  - ### Class javax.naming.directory.InvalidAttributeIdentifierException extends NamingException implements Serializable

    serialVersionUID:
      -9036920266322999923L

  - ### Class javax.naming.directory.InvalidAttributesException extends NamingException implements Serializable

    serialVersionUID:
      2607612850539889765L

  - ### Class javax.naming.directory.InvalidAttributeValueException extends NamingException implements Serializable

    serialVersionUID:
      8720050295499275011L

  - ### Class javax.naming.directory.InvalidSearchControlsException extends NamingException implements Serializable

    serialVersionUID:
      -5124108943352665777L

  - ### Class javax.naming.directory.InvalidSearchFilterException extends NamingException implements Serializable

    serialVersionUID:
      2902700940682875441L

  - ### Class javax.naming.directory.ModificationItem extends Object implements Serializable

    serialVersionUID:
      7573258562534746850L

    - ### Serialized Fields

      - #### attr

            Attribute attr

        Contains the attribute identifying the attribute and/or its value to be applied for the modification.

      - #### mod_op

            int mod_op

        Contains an integer identify the modification to be performed.

  - ### Class javax.naming.directory.NoSuchAttributeException extends NamingException implements Serializable

    serialVersionUID:
      4836415647935888137L

  - ### Class javax.naming.directory.SchemaViolationException extends NamingException implements Serializable

    serialVersionUID:
      -3041762429525049663L

  - ### Class javax.naming.directory.SearchControls extends Object implements Serializable

    serialVersionUID:
      -2480540967773454797L

    - ### Serialized Fields

      - #### attributesToReturn

            String[] attributesToReturn

        Contains the list of attributes to be returned in `SearchResult` for each matching entry of search. `null` indicates that all attributes are to be returned.

      - #### countLimit

            long countLimit

        Contains the maximum number of SearchResults to return.

      - #### derefLink

            boolean derefLink

        Indicates whether JNDI links are dereferenced during search.

      - #### returnObj

            boolean returnObj

        Indicates whether object is returned in `SearchResult`.

      - #### searchScope

            int searchScope

        Contains the scope with which to apply the search. One of `ONELEVEL_SCOPE`, `OBJECT_SCOPE`, or `SUBTREE_SCOPE`.

      - #### timeLimit

            int timeLimit

        Contains the milliseconds to wait before returning from search.

  - ### Class javax.naming.directory.SearchResult extends Binding implements Serializable

    serialVersionUID:
      -9158063327699723172L

    - ### Serialized Fields

      - #### attrs

            Attributes attrs

        Contains the attributes returned with the object.

- ## Package javax.naming.event

  - ### Class javax.naming.event.NamingEvent extends EventObject implements Serializable

    serialVersionUID:
      -7126752885365133499L

    - ### Serialized Fields

      - #### changeInfo

            Object changeInfo

        Contains information about the change that generated this event.

      - #### newBinding

            Binding newBinding

        Contains information about the object after the change.

      - #### oldBinding

            Binding oldBinding

        Contains information about the object before the change.

      - #### type

            int type

        Contains the type of this event.
        See Also:
          `NamingEvent.OBJECT_ADDED`, `NamingEvent.OBJECT_REMOVED`, `NamingEvent.OBJECT_RENAMED`, `NamingEvent.OBJECT_CHANGED`

  - ### Class javax.naming.event.NamingExceptionEvent extends EventObject implements Serializable

    serialVersionUID:
      -4877678086134736336L

    - ### Serialized Fields

      - #### exception

            NamingException exception

        Contains the exception that was thrown

- ## Package javax.naming.ldap

  - ### Class javax.naming.ldap.BasicControl extends Object implements Serializable

    serialVersionUID:
      -4233907508771791687L

    - ### Serialized Fields

      - #### criticality

            boolean criticality

        The control's criticality.

      - #### id

            String id

        The control's object identifier string.

      - #### value

            byte[] value

        The control's ASN.1 BER encoded value.

  - ### Class javax.naming.ldap.LdapName extends Object implements Serializable

    serialVersionUID:
      -1595520034788997356L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Serializes only the unparsed DN, for compactness and to avoid any implementation dependency.
        Serial Data:
          The DN string
        Throws:
          `IOException`

  - ### Class javax.naming.ldap.LdapReferralException extends ReferralException implements Serializable

    serialVersionUID:
      -1668992791764950804L

  - ### Class javax.naming.ldap.ManageReferralControl extends BasicControl implements Serializable

    serialVersionUID:
      3017756160149982566L

  - ### Class javax.naming.ldap.PagedResultsControl extends BasicControl implements Serializable

    serialVersionUID:
      6684806685736844298L

  - ### Class javax.naming.ldap.PagedResultsResponseControl extends BasicControl implements Serializable

    serialVersionUID:
      -8819778744844514666L

    - ### Serialized Fields

      - #### cookie

            byte[] cookie

        A server-generated cookie.

      - #### resultSize

            int resultSize

        An estimate of the number of entries in the search result.

  - ### Class javax.naming.ldap.Rdn extends Object implements Serializable

    serialVersionUID:
      -5994465067210009656L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Serializes only the unparsed RDN, for compactness and to avoid any implementation dependency.
        Serial Data:
          The RDN string
        Throws:
          `IOException`

  - ### Class javax.naming.ldap.SortControl extends BasicControl implements Serializable

    serialVersionUID:
      -1965961680233330744L

  - ### Class javax.naming.ldap.SortResponseControl extends BasicControl implements Serializable

    serialVersionUID:
      5142939176006310877L

    - ### Serialized Fields

      - #### badAttrId

            String badAttrId

        The ID of the attribute that caused the sort to fail.

      - #### resultCode

            int resultCode

        The sort result code.

  - ### Class javax.naming.ldap.StartTlsRequest extends Object implements Serializable

    serialVersionUID:
      4441679576360753397L

  - ### Class javax.naming.ldap.StartTlsResponse extends Object implements Serializable

    serialVersionUID:
      8372842182579276418L

  - ### Class javax.naming.ldap.UnsolicitedNotificationEvent extends EventObject implements Serializable

    serialVersionUID:
      -2382603380799883705L

    - ### Serialized Fields

      - #### notice

            UnsolicitedNotification notice

        The notification that caused this event to be fired.

- ## Package javax.naming.spi

  - ### Class javax.naming.spi.ResolveResult extends Object implements Serializable

    serialVersionUID:
      -4552108072002407559L

    - ### Serialized Fields

      - #### remainingName

            Name remainingName

        Field containing the remaining name yet to be resolved. It can be null only when constructed using a subclass. Constructors should always initialize this.

      - #### resolvedObj

            Object resolvedObj

        Field containing the Object that was resolved to successfully. It can be null only when constructed using a subclass. Constructors should always initialize this.

- ## Package javax.net.ssl

  - ### Class javax.net.ssl.HandshakeCompletedEvent extends EventObject implements Serializable

    serialVersionUID:
      7914963744257769778L

  - ### Class javax.net.ssl.SSLException extends IOException implements Serializable

    serialVersionUID:
      4511006460650708967L

  - ### Class javax.net.ssl.SSLHandshakeException extends SSLException implements Serializable

    serialVersionUID:
      -5045881315018326890L

  - ### Class javax.net.ssl.SSLKeyException extends SSLException implements Serializable

    serialVersionUID:
      -8071664081941937874L

  - ### Class javax.net.ssl.SSLPeerUnverifiedException extends SSLException implements Serializable

    serialVersionUID:
      -8919512675000600547L

  - ### Class javax.net.ssl.SSLPermission extends BasicPermission implements Serializable

    serialVersionUID:
      -3456898025505876775L

  - ### Class javax.net.ssl.SSLProtocolException extends SSLException implements Serializable

    serialVersionUID:
      5445067063799134928L

  - ### Class javax.net.ssl.SSLSessionBindingEvent extends EventObject implements Serializable

    serialVersionUID:
      3989172637106345L

    - ### Serialized Fields

      - #### name

            String name

        The name to which the object is being bound or unbound

- ## Package javax.print

  - ### Class javax.print.DocFlavor extends Object implements Serializable

    serialVersionUID:
      -4512080796965449721L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Reconstitute an instance from a stream (that is, deserialize it).
        Serial Data:
          The serialised form of a DocFlavor is the String naming the representation class followed by the String representing the canonical form of the mime type.
        Throws:
          `ClassNotFoundException` - if the class of a serialized object could not be found.
          `IOException` - if I/O errors occur while reading from the underlying stream

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Write the instance to a stream (ie serialize the object).
        Throws:
          `IOException` - if I/O errors occur while writing to the underlying stream

    - ### Serialized Fields

      - #### myClassName

            String myClassName

        Representation class name.

  - ### Class javax.print.DocFlavor.BYTE_ARRAY extends DocFlavor implements Serializable

    serialVersionUID:
      -9065578006593857475L

  - ### Class javax.print.DocFlavor.CHAR_ARRAY extends DocFlavor implements Serializable

    serialVersionUID:
      -8720590903724405128L

  - ### Class javax.print.DocFlavor.INPUT_STREAM extends DocFlavor implements Serializable

    serialVersionUID:
      -7045842700749194127L

  - ### Class javax.print.DocFlavor.READER extends DocFlavor implements Serializable

    serialVersionUID:
      7100295812579351567L

  - ### Class javax.print.DocFlavor.SERVICE_FORMATTED extends DocFlavor implements Serializable

    serialVersionUID:
      6181337766266637256L

  - ### Class javax.print.DocFlavor.STRING extends DocFlavor implements Serializable

    serialVersionUID:
      4414407504887034035L

  - ### Class javax.print.DocFlavor.URL extends DocFlavor implements Serializable

    serialVersionUID:
      2936725788144902062L

  - ### Class javax.print.PrintException extends Exception implements Serializable

    serialVersionUID:
      -5932531546705242471L

- ## Package javax.print.attribute

  - ### Class javax.print.attribute.AttributeSetUtilities.SynchronizedAttributeSet extends Object implements Serializable

    serialVersionUID:
      8365731020128564925L

    - ### Serialized Fields

      - #### attrset

            AttributeSet attrset

  - ### Class javax.print.attribute.AttributeSetUtilities.SynchronizedDocAttributeSet extends javax.print.attribute.AttributeSetUtilities.SynchronizedAttributeSet implements Serializable

    serialVersionUID:
      6455869095246629354L

  - ### Class javax.print.attribute.AttributeSetUtilities.SynchronizedPrintJobAttributeSet extends javax.print.attribute.AttributeSetUtilities.SynchronizedAttributeSet implements Serializable

    serialVersionUID:
      2117188707856965749L

  - ### Class javax.print.attribute.AttributeSetUtilities.SynchronizedPrintRequestAttributeSet extends javax.print.attribute.AttributeSetUtilities.SynchronizedAttributeSet implements Serializable

    serialVersionUID:
      5671237023971169027L

  - ### Class javax.print.attribute.AttributeSetUtilities.SynchronizedPrintServiceAttributeSet extends javax.print.attribute.AttributeSetUtilities.SynchronizedAttributeSet implements Serializable

    serialVersionUID:
      -2830705374001675073L

  - ### Class javax.print.attribute.AttributeSetUtilities.UnmodifiableAttributeSet extends Object implements Serializable

    serialVersionUID:
      -6131802583863447813L

    - ### Serialized Fields

      - #### attrset

            AttributeSet attrset

  - ### Class javax.print.attribute.AttributeSetUtilities.UnmodifiableDocAttributeSet extends javax.print.attribute.AttributeSetUtilities.UnmodifiableAttributeSet implements Serializable

    serialVersionUID:
      -6349408326066898956L

  - ### Class javax.print.attribute.AttributeSetUtilities.UnmodifiablePrintJobAttributeSet extends javax.print.attribute.AttributeSetUtilities.UnmodifiableAttributeSet implements Serializable

    serialVersionUID:
      -8002245296274522112L

  - ### Class javax.print.attribute.AttributeSetUtilities.UnmodifiablePrintRequestAttributeSet extends javax.print.attribute.AttributeSetUtilities.UnmodifiableAttributeSet implements Serializable

    serialVersionUID:
      7799373532614825073L

  - ### Class javax.print.attribute.AttributeSetUtilities.UnmodifiablePrintServiceAttributeSet extends javax.print.attribute.AttributeSetUtilities.UnmodifiableAttributeSet implements Serializable

    serialVersionUID:
      -7112165137107826819L

  - ### Class javax.print.attribute.DateTimeSyntax extends Object implements Serializable

    serialVersionUID:
      -1400819079791208582L

    - ### Serialized Fields

      - #### value

            Date value

        This date-time attribute's `java.util.Date` value.

  - ### Class javax.print.attribute.EnumSyntax extends Object implements Serializable

    serialVersionUID:
      -2739521845085831642L

    - ### Serialization Methods

      - #### readResolve

            protected Object readResolve​()
                                  throws ObjectStreamException

        During object input, convert this deserialized enumeration instance to the proper enumeration value defined in the enumeration attribute class.
        Throws:
          `ObjectStreamException` - if the stream can't be deserialised
          `InvalidObjectException` - Thrown if the enumeration value table is null, this enumeration value's integer value does not correspond to an element in the enumeration value table, or the corresponding element in the enumeration value table is null. (Note: `InvalidObjectException` is a subclass of `ObjectStreamException`, which `readResolve()` is declared to throw.)

    - ### Serialized Fields

      - #### value

            int value

        This enumeration value's integer value.

  - ### Class javax.print.attribute.HashAttributeSet extends Object implements Serializable

    serialVersionUID:
      5311560590283707917L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

        Reconstitute an instance from a stream that is, deserialize it).
        Throws:
          `ClassNotFoundException`
          `IOException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Write the instance to a stream (ie serialize the object)
        Serial Data:
          The serialized form of an attribute set explicitly writes the number of attributes in the set, and each of the attributes. This does not guarantee equality of serialized forms since the order in which the attributes are written is not defined.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### myInterface

            Class<T> myInterface

        The interface of which all members of this attribute set must be an instance. It is assumed to be interface `Attribute` or a subinterface thereof.

  - ### Class javax.print.attribute.HashDocAttributeSet extends HashAttributeSet implements Serializable

    serialVersionUID:
      -1128534486061432528L

  - ### Class javax.print.attribute.HashPrintJobAttributeSet extends HashAttributeSet implements Serializable

    serialVersionUID:
      -4204473656070350348L

  - ### Class javax.print.attribute.HashPrintRequestAttributeSet extends HashAttributeSet implements Serializable

    serialVersionUID:
      2364756266107751933L

  - ### Class javax.print.attribute.HashPrintServiceAttributeSet extends HashAttributeSet implements Serializable

    serialVersionUID:
      6642904616179203070L

  - ### Class javax.print.attribute.IntegerSyntax extends Object implements Serializable

    serialVersionUID:
      3644574816328081943L

    - ### Serialized Fields

      - #### value

            int value

        This integer attribute's integer value.

  - ### Class javax.print.attribute.ResolutionSyntax extends Object implements Serializable

    serialVersionUID:
      2706743076526672017L

    - ### Serialized Fields

      - #### crossFeedResolution

            int crossFeedResolution

        Cross feed direction resolution in units of dots per 100 inches (dphi).

      - #### feedResolution

            int feedResolution

        Feed direction resolution in units of dots per 100 inches (dphi).

  - ### Class javax.print.attribute.SetOfIntegerSyntax extends Object implements Serializable

    serialVersionUID:
      3666874174847632203L

    - ### Serialized Fields

      - #### members

            int[][] members

        This set's members in canonical array form.

  - ### Class javax.print.attribute.Size2DSyntax extends Object implements Serializable

    serialVersionUID:
      5584439964938660530L

    - ### Serialized Fields

      - #### x

            int x

        X dimension in units of micrometers (µm).

      - #### y

            int y

        Y dimension in units of micrometers (µm).

  - ### Class javax.print.attribute.TextSyntax extends Object implements Serializable

    serialVersionUID:
      -8130648736378144102L

    - ### Serialized Fields

      - #### locale

            Locale locale

        Locale of this text attribute.

      - #### value

            String value

        String value of this text attribute.

  - ### Class javax.print.attribute.UnmodifiableSetException extends RuntimeException implements Serializable

    serialVersionUID:
      2255250308571511731L

  - ### Class javax.print.attribute.URISyntax extends Object implements Serializable

    serialVersionUID:
      -7842661210486401678L

    - ### Serialized Fields

      - #### uri

            URI uri

        URI value of this URI attribute.

- ## Package javax.print.attribute.standard

  - ### Class javax.print.attribute.standard.Chromaticity extends EnumSyntax implements Serializable

    serialVersionUID:
      4660543931355214012L

  - ### Class javax.print.attribute.standard.ColorSupported extends EnumSyntax implements Serializable

    serialVersionUID:
      -2700555589688535545L

  - ### Class javax.print.attribute.standard.Compression extends EnumSyntax implements Serializable

    serialVersionUID:
      -5716748913324997674L

  - ### Class javax.print.attribute.standard.Copies extends IntegerSyntax implements Serializable

    serialVersionUID:
      -6426631521680023833L

  - ### Class javax.print.attribute.standard.CopiesSupported extends SetOfIntegerSyntax implements Serializable

    serialVersionUID:
      6927711687034846001L

  - ### Class javax.print.attribute.standard.DateTimeAtCompleted extends DateTimeSyntax implements Serializable

    serialVersionUID:
      6497399708058490000L

  - ### Class javax.print.attribute.standard.DateTimeAtCreation extends DateTimeSyntax implements Serializable

    serialVersionUID:
      -2923732231056647903L

  - ### Class javax.print.attribute.standard.DateTimeAtProcessing extends DateTimeSyntax implements Serializable

    serialVersionUID:
      -3710068197278263244L

  - ### Class javax.print.attribute.standard.Destination extends URISyntax implements Serializable

    serialVersionUID:
      6776739171700415321L

  - ### Class javax.print.attribute.standard.DialogTypeSelection extends EnumSyntax implements Serializable

    serialVersionUID:
      7518682952133256029L

  - ### Class javax.print.attribute.standard.DocumentName extends TextSyntax implements Serializable

    serialVersionUID:
      7883105848533280430L

  - ### Class javax.print.attribute.standard.Fidelity extends EnumSyntax implements Serializable

    serialVersionUID:
      6320827847329172308L

  - ### Class javax.print.attribute.standard.Finishings extends EnumSyntax implements Serializable

    serialVersionUID:
      -627840419548391754L

  - ### Class javax.print.attribute.standard.JobHoldUntil extends DateTimeSyntax implements Serializable

    serialVersionUID:
      -1664471048860415024L

  - ### Class javax.print.attribute.standard.JobImpressions extends IntegerSyntax implements Serializable

    serialVersionUID:
      8225537206784322464L

  - ### Class javax.print.attribute.standard.JobImpressionsCompleted extends IntegerSyntax implements Serializable

    serialVersionUID:
      6722648442432393294L

  - ### Class javax.print.attribute.standard.JobImpressionsSupported extends SetOfIntegerSyntax implements Serializable

    serialVersionUID:
      -4887354803843173692L

  - ### Class javax.print.attribute.standard.JobKOctets extends IntegerSyntax implements Serializable

    serialVersionUID:
      -8959710146498202869L

  - ### Class javax.print.attribute.standard.JobKOctetsProcessed extends IntegerSyntax implements Serializable

    serialVersionUID:
      -6265238509657881806L

  - ### Class javax.print.attribute.standard.JobKOctetsSupported extends SetOfIntegerSyntax implements Serializable

    serialVersionUID:
      -2867871140549897443L

  - ### Class javax.print.attribute.standard.JobMediaSheets extends IntegerSyntax implements Serializable

    serialVersionUID:
      408871131531979741L

  - ### Class javax.print.attribute.standard.JobMediaSheetsCompleted extends IntegerSyntax implements Serializable

    serialVersionUID:
      1739595973810840475L

  - ### Class javax.print.attribute.standard.JobMediaSheetsSupported extends SetOfIntegerSyntax implements Serializable

    serialVersionUID:
      2953685470388672940L

  - ### Class javax.print.attribute.standard.JobMessageFromOperator extends TextSyntax implements Serializable

    serialVersionUID:
      -4620751846003142047L

  - ### Class javax.print.attribute.standard.JobName extends TextSyntax implements Serializable

    serialVersionUID:
      4660359192078689545L

  - ### Class javax.print.attribute.standard.JobOriginatingUserName extends TextSyntax implements Serializable

    serialVersionUID:
      -8052537926362933477L

  - ### Class javax.print.attribute.standard.JobPriority extends IntegerSyntax implements Serializable

    serialVersionUID:
      -4599900369040602769L

  - ### Class javax.print.attribute.standard.JobPrioritySupported extends IntegerSyntax implements Serializable

    serialVersionUID:
      2564840378013555894L

  - ### Class javax.print.attribute.standard.JobSheets extends EnumSyntax implements Serializable

    serialVersionUID:
      -4735258056132519759L

  - ### Class javax.print.attribute.standard.JobState extends EnumSyntax implements Serializable

    serialVersionUID:
      400465010094018920L

  - ### Class javax.print.attribute.standard.JobStateReason extends EnumSyntax implements Serializable

    serialVersionUID:
      -8765894420449009168L

  - ### Class javax.print.attribute.standard.JobStateReasons extends HashSet<JobStateReason> implements Serializable

    serialVersionUID:
      8849088261264331812L

  - ### Class javax.print.attribute.standard.Media extends EnumSyntax implements Serializable

    serialVersionUID:
      -2823970704630722439L

  - ### Class javax.print.attribute.standard.MediaName extends Media implements Serializable

    serialVersionUID:
      4653117714524155448L

  - ### Class javax.print.attribute.standard.MediaPrintableArea extends Object implements Serializable

    serialVersionUID:
      -1597171464050795793L

    - ### Serialized Fields

      - #### h

            int h

      - #### units

            int units

      - #### w

            int w

      - #### x

            int x

      - #### y

            int y

  - ### Class javax.print.attribute.standard.MediaSize extends Size2DSyntax implements Serializable

    serialVersionUID:
      -1967958664615414771L

    - ### Serialized Fields

      - #### mediaName

            MediaSizeName mediaName

  - ### Class javax.print.attribute.standard.MediaSizeName extends Media implements Serializable

    serialVersionUID:
      2778798329756942747L

  - ### Class javax.print.attribute.standard.MediaTray extends Media implements Serializable

    serialVersionUID:
      -982503611095214703L

  - ### Class javax.print.attribute.standard.MultipleDocumentHandling extends EnumSyntax implements Serializable

    serialVersionUID:
      8098326460746413466L

  - ### Class javax.print.attribute.standard.NumberOfDocuments extends IntegerSyntax implements Serializable

    serialVersionUID:
      7891881310684461097L

  - ### Class javax.print.attribute.standard.NumberOfInterveningJobs extends IntegerSyntax implements Serializable

    serialVersionUID:
      2568141124844982746L

  - ### Class javax.print.attribute.standard.NumberUp extends IntegerSyntax implements Serializable

    serialVersionUID:
      -3040436486786527811L

  - ### Class javax.print.attribute.standard.NumberUpSupported extends SetOfIntegerSyntax implements Serializable

    serialVersionUID:
      -1041573395759141805L

  - ### Class javax.print.attribute.standard.OrientationRequested extends EnumSyntax implements Serializable

    serialVersionUID:
      -4447437289862822276L

  - ### Class javax.print.attribute.standard.OutputDeviceAssigned extends TextSyntax implements Serializable

    serialVersionUID:
      5486733778854271081L

  - ### Class javax.print.attribute.standard.PageRanges extends SetOfIntegerSyntax implements Serializable

    serialVersionUID:
      8639895197656148392L

  - ### Class javax.print.attribute.standard.PagesPerMinute extends IntegerSyntax implements Serializable

    serialVersionUID:
      -6366403993072862015L

  - ### Class javax.print.attribute.standard.PagesPerMinuteColor extends IntegerSyntax implements Serializable

    serialVersionUID:
      1684993151687470944L

  - ### Class javax.print.attribute.standard.PDLOverrideSupported extends EnumSyntax implements Serializable

    serialVersionUID:
      -4393264467928463934L

  - ### Class javax.print.attribute.standard.PresentationDirection extends EnumSyntax implements Serializable

    serialVersionUID:
      8294728067230931780L

  - ### Class javax.print.attribute.standard.PrinterInfo extends TextSyntax implements Serializable

    serialVersionUID:
      7765280618777599727L

  - ### Class javax.print.attribute.standard.PrinterIsAcceptingJobs extends EnumSyntax implements Serializable

    serialVersionUID:
      -5052010680537678061L

  - ### Class javax.print.attribute.standard.PrinterLocation extends TextSyntax implements Serializable

    serialVersionUID:
      -1598610039865566337L

  - ### Class javax.print.attribute.standard.PrinterMakeAndModel extends TextSyntax implements Serializable

    serialVersionUID:
      4580461489499351411L

  - ### Class javax.print.attribute.standard.PrinterMessageFromOperator extends TextSyntax implements Serializable

    serialVersionUID:
      -4486871203218629318L

  - ### Class javax.print.attribute.standard.PrinterMoreInfo extends URISyntax implements Serializable

    serialVersionUID:
      4555850007675338574L

  - ### Class javax.print.attribute.standard.PrinterMoreInfoManufacturer extends URISyntax implements Serializable

    serialVersionUID:
      3323271346485076608L

  - ### Class javax.print.attribute.standard.PrinterName extends TextSyntax implements Serializable

    serialVersionUID:
      299740639137803127L

  - ### Class javax.print.attribute.standard.PrinterResolution extends ResolutionSyntax implements Serializable

    serialVersionUID:
      13090306561090558L

  - ### Class javax.print.attribute.standard.PrinterState extends EnumSyntax implements Serializable

    serialVersionUID:
      -649578618346507718L

  - ### Class javax.print.attribute.standard.PrinterStateReason extends EnumSyntax implements Serializable

    serialVersionUID:
      -1623720656201472593L

  - ### Class javax.print.attribute.standard.PrinterStateReasons extends HashMap<PrinterStateReason,Severity> implements Serializable

    serialVersionUID:
      -3731791085163619457L

  - ### Class javax.print.attribute.standard.PrinterURI extends URISyntax implements Serializable

    serialVersionUID:
      7923912792485606497L

  - ### Class javax.print.attribute.standard.PrintQuality extends EnumSyntax implements Serializable

    serialVersionUID:
      -3072341285225858365L

  - ### Class javax.print.attribute.standard.QueuedJobCount extends IntegerSyntax implements Serializable

    serialVersionUID:
      7499723077864047742L

  - ### Class javax.print.attribute.standard.ReferenceUriSchemesSupported extends EnumSyntax implements Serializable

    serialVersionUID:
      -8989076942813442805L

  - ### Class javax.print.attribute.standard.RequestingUserName extends TextSyntax implements Serializable

    serialVersionUID:
      -2683049894310331454L

  - ### Class javax.print.attribute.standard.Severity extends EnumSyntax implements Serializable

    serialVersionUID:
      8781881462717925380L

  - ### Class javax.print.attribute.standard.SheetCollate extends EnumSyntax implements Serializable

    serialVersionUID:
      7080587914259873003L

  - ### Class javax.print.attribute.standard.Sides extends EnumSyntax implements Serializable

    serialVersionUID:
      -6890309414893262822L

- ## Package javax.print.event

  - ### Class javax.print.event.PrintEvent extends EventObject implements Serializable

    serialVersionUID:
      2286914924430763847L

  - ### Class javax.print.event.PrintJobAttributeEvent extends PrintEvent implements Serializable

    serialVersionUID:
      -6534469883874742101L

    - ### Serialized Fields

      - #### attributes

            PrintJobAttributeSet attributes

  - ### Class javax.print.event.PrintJobEvent extends PrintEvent implements Serializable

    serialVersionUID:
      -1711656903622072997L

    - ### Serialized Fields

      - #### reason

            int reason

  - ### Class javax.print.event.PrintServiceAttributeEvent extends PrintEvent implements Serializable

    serialVersionUID:
      -7565987018140326600L

    - ### Serialized Fields

      - #### attributes

            PrintServiceAttributeSet attributes

- ## Package javax.rmi.CORBA

  - ### Class javax.rmi.CORBA.ClassDesc extends Object implements Serializable

    - ### Serialized Fields

      - #### codebase

            String codebase

        A space-separated list of codebase URLs.

      - #### repid

            String repid

        The class's RepositoryId.

  - ### Class javax.rmi.CORBA.Stub extends ObjectImpl implements Serializable

    serialVersionUID:
      1087775603798577179L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream stream)
                             throws IOException,
                                    ClassNotFoundException

        Serialization method to restore the IOR state.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream stream)
                              throws IOException

        Serialization method to save the IOR state.
        Serial Data:
          The length of the IOR type ID (int), followed by the IOR type ID (byte array encoded using ISO8859-1), followed by the number of IOR profiles (int), followed by the IOR profiles. Each IOR profile is written as a profile tag (int), followed by the length of the profile data (int), followed by the profile data (byte array).
        Throws:
          `IOException`

- ## Package javax.rmi.ssl

  - ### Class javax.rmi.ssl.SslRMIClientSocketFactory extends Object implements Serializable

    serialVersionUID:
      -8310631444933958385L

- ## Package javax.script

  - ### Class javax.script.ScriptException extends Exception implements Serializable

    serialVersionUID:
      8265071037049225001L

    - ### Serialized Fields

      - #### columnNumber

            int columnNumber

      - #### fileName

            String fileName

      - #### lineNumber

            int lineNumber

- ## Package javax.security.auth

  - ### Class javax.security.auth.AuthPermission extends BasicPermission implements Serializable

    serialVersionUID:
      5806031445061587174L

  - ### Class javax.security.auth.DestroyFailedException extends Exception implements Serializable

    serialVersionUID:
      -7790152857282749162L

  - ### Class javax.security.auth.PrivateCredentialPermission extends Permission implements Serializable

    serialVersionUID:
      5284372143517237068L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reads this object from a stream (i.e., deserializes it)
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### credentialClass

            String credentialClass

      - #### principals

            Set<E> principals

        The Principals associated with this permission. The set contains elements of type, `PrivateCredentialPermission.CredOwner`.

      - #### testing

            boolean testing

  - ### Class javax.security.auth.PrivateCredentialPermission.CredOwner extends Object implements Serializable

    serialVersionUID:
      -5607449830436408266L

    - ### Serialized Fields

      - #### principalClass

            String principalClass

      - #### principalName

            String principalName

  - ### Class javax.security.auth.RefreshFailedException extends Exception implements Serializable

    serialVersionUID:
      5058444488565265840L

  - ### Class javax.security.auth.Subject extends Object implements Serializable

    serialVersionUID:
      -8308522755600156056L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reads this object from a stream (i.e., deserializes it)
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream oos)
                              throws IOException

        Writes this object out to a stream (i.e., serializes it).
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### principals

            Set<E> principals

        A `Set` that provides a view of all of this Subject's Principals
        Each element in this set is a `java.security.Principal`. The set is a `Subject.SecureSet`.

      - #### readOnly

            boolean readOnly

        Whether this Subject is read-only

  - ### Class javax.security.auth.Subject.SecureSet extends Object implements Serializable

    serialVersionUID:
      7911754171111800359L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream oos)
                              throws IOException

        Writes this object out to a stream (i.e., serializes it).
        Serial Data:
          If this is a private credential set, a security check is performed to ensure that the caller has permission to access each credential in the set. If the security check passes, the set is serialized.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### elements

            LinkedList<E> elements

        The elements in this set.

      - #### this$0

            Subject this$0

        The outer Subject instance.

- ## Package javax.security.auth.callback

  - ### Class javax.security.auth.callback.ChoiceCallback extends Object implements Serializable

    serialVersionUID:
      -3975664071579892167L

    - ### Serialized Fields

      - #### choices

            String[] choices

        the list of choices
        Since:
          1.4

      - #### defaultChoice

            int defaultChoice

        the choice to be used as the default choice
        Since:
          1.4

      - #### multipleSelectionsAllowed

            boolean multipleSelectionsAllowed

        whether multiple selections are allowed from the list of choices
        Since:
          1.4

      - #### prompt

            String prompt

        Since:
          1.4

      - #### selections

            int[] selections

        the selected choices, represented as indexes into the `choices` list.
        Since:
          1.4

  - ### Class javax.security.auth.callback.ConfirmationCallback extends Object implements Serializable

    serialVersionUID:
      -9095656433782481624L

    - ### Serialized Fields

      - #### defaultOption

            int defaultOption

        Since:
          1.4

      - #### messageType

            int messageType

        Since:
          1.4

      - #### options

            String[] options

        Since:
          1.4

      - #### optionType

            int optionType

        Since:
          1.4

      - #### prompt

            String prompt

        Since:
          1.4

      - #### selection

            int selection

        Since:
          1.4

  - ### Class javax.security.auth.callback.LanguageCallback extends Object implements Serializable

    serialVersionUID:
      2019050433478903213L

    - ### Serialized Fields

      - #### locale

            Locale locale

        Since:
          1.4

  - ### Class javax.security.auth.callback.NameCallback extends Object implements Serializable

    serialVersionUID:
      3770938795909392253L

    - ### Serialized Fields

      - #### defaultName

            String defaultName

        Since:
          1.4

      - #### inputName

            String inputName

        Since:
          1.4

      - #### prompt

            String prompt

        Since:
          1.4

  - ### Class javax.security.auth.callback.PasswordCallback extends Object implements Serializable

    serialVersionUID:
      2267422647454909926L

    - ### Serialized Fields

      - #### echoOn

            boolean echoOn

        Since:
          1.4

      - #### inputPassword

            char[] inputPassword

        Since:
          1.4

      - #### prompt

            String prompt

        Since:
          1.4

  - ### Class javax.security.auth.callback.TextInputCallback extends Object implements Serializable

    serialVersionUID:
      -8064222478852811804L

    - ### Serialized Fields

      - #### defaultText

            String defaultText

        Since:
          1.4

      - #### inputText

            String inputText

        Since:
          1.4

      - #### prompt

            String prompt

        Since:
          1.4

  - ### Class javax.security.auth.callback.TextOutputCallback extends Object implements Serializable

    serialVersionUID:
      1689502495511663102L

    - ### Serialized Fields

      - #### message

            String message

        Since:
          1.4

      - #### messageType

            int messageType

        Since:
          1.4

  - ### Class javax.security.auth.callback.UnsupportedCallbackException extends Exception implements Serializable

    serialVersionUID:
      -6873556327655666839L

    - ### Serialized Fields

      - #### callback

            Callback callback

- ## Package javax.security.auth.kerberos

  - ### Class javax.security.auth.kerberos.DelegationPermission extends BasicPermission implements Serializable

    serialVersionUID:
      883133252142523922L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the DelegationPermission from a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        WriteObject is called to save the state of the DelegationPermission to a stream. The actions are serialized, and the superclass takes care of the name.
        Throws:
          `IOException`

  - ### Class javax.security.auth.kerberos.EncryptionKey extends Object implements Serializable

    serialVersionUID:
      9L

    - ### Serialized Fields

      - #### key

            javax.security.auth.kerberos.KeyImpl key

        `KeyImpl` is serialized by writing out the ASN.1 encoded bytes of the encryption key.

  - ### Class javax.security.auth.kerberos.KerberosKey extends Object implements Serializable

    serialVersionUID:
      -4625402278148246993L

    - ### Serialized Fields

      - #### key

            javax.security.auth.kerberos.KeyImpl key

        `KeyImpl` is serialized by writing out the ASN.1 encoded bytes of the encryption key.

      - #### principal

            KerberosPrincipal principal

        The principal that this secret key belongs to.

      - #### versionNum

            int versionNum

        the version number of this secret key

  - ### Class javax.security.auth.kerberos.KerberosPrincipal extends Object implements Serializable

    serialVersionUID:
      -7374788026156829911L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Reads this object from a stream (i.e., deserializes it)
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream oos)
                              throws IOException

        Save the `KerberosPrincipal` object to a stream
        Serial Data:
          this `KerberosPrincipal` is serialized by writing out the PrincipalName and the Realm in their DER-encoded form as specified in Section 5.2.2 of RFC4120.
        Throws:
          `IOException`

  - ### Class javax.security.auth.kerberos.KerberosTicket extends Object implements Serializable

    serialVersionUID:
      7395334370157380539L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### asn1Encoding

            byte[] asn1Encoding

        ASN.1 DER Encoding of the Ticket as defined in the Kerberos Protocol Specification RFC4120.

      - #### authTime

            Date authTime

        Time of initial authentication

      - #### client

            KerberosPrincipal client

        Client that owns the service ticket

      - #### clientAddresses

            InetAddress[] clientAddresses

        The addresses from where the ticket may be used by the client. This field may be null when the ticket is usable from any address.

      - #### endTime

            Date endTime

        Time after which the ticket will not be honored. (its expiration time).

      - #### flags

            boolean[] flags

        Ticket Flags as defined in the Kerberos Protocol Specification RFC4120.

      - #### renewTill

            Date renewTill

        For renewable Tickets it indicates the maximum endtime that may be included in a renewal. It can be thought of as the absolute expiration time for the ticket, including all renewals. This field may be null for tickets that are not renewable.

      - #### server

            KerberosPrincipal server

        The service for which the ticket was issued.

      - #### sessionKey

            javax.security.auth.kerberos.KeyImpl sessionKey

        `KeyImpl` is serialized by writing out the ASN1 Encoded bytes of the encryption key. The ASN1 encoding is defined in RFC4120 and as follows:

             EncryptionKey   ::= SEQUENCE {
                      keytype    [0] Int32 -- actually encryption type --,
                      keyvalue   [1] OCTET STRING
             }

      - #### startTime

            Date startTime

        Time after which the ticket is valid.

  - ### Class javax.security.auth.kerberos.KeyImpl extends Object implements Serializable

    serialVersionUID:
      -7889313790214321193L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream ois)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream ois)
                              throws IOException

        Serial Data:
          this `KeyImpl` is serialized by writing out the ASN1 Encoded bytes of the encryption key. The ASN1 encoding is defined in RFC4120 and as follows: EncryptionKey ::= SEQUENCE { keytype [0] Int32 -- actually encryption type --, keyvalue [1] OCTET STRING }
        Throws:
          `IOException`

  - ### Class javax.security.auth.kerberos.ServicePermission extends Permission implements Serializable

    serialVersionUID:
      -1227585031618624935L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the ServicePermission from a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        WriteObject is called to save the state of the ServicePermission to a stream. The actions are serialized, and the superclass takes care of the name.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### actions

            String actions

        the actions string.

- ## Package javax.security.auth.login

  - ### Class javax.security.auth.login.AccountException extends LoginException implements Serializable

    serialVersionUID:
      -2112878680072211787L

  - ### Class javax.security.auth.login.AccountExpiredException extends AccountException implements Serializable

    serialVersionUID:
      -6064064890162661560L

  - ### Class javax.security.auth.login.AccountLockedException extends AccountException implements Serializable

    serialVersionUID:
      8280345554014066334L

  - ### Class javax.security.auth.login.AccountNotFoundException extends AccountException implements Serializable

    serialVersionUID:
      1498349563916294614L

  - ### Class javax.security.auth.login.CredentialException extends LoginException implements Serializable

    serialVersionUID:
      -4772893876810601859L

  - ### Class javax.security.auth.login.CredentialExpiredException extends CredentialException implements Serializable

    serialVersionUID:
      -5344739593859737937L

  - ### Class javax.security.auth.login.CredentialNotFoundException extends CredentialException implements Serializable

    serialVersionUID:
      -7779934467214319475L

  - ### Class javax.security.auth.login.FailedLoginException extends LoginException implements Serializable

    serialVersionUID:
      802556922354616286L

  - ### Class javax.security.auth.login.LoginException extends GeneralSecurityException implements Serializable

    serialVersionUID:
      -4679091624035232488L

- ## Package javax.security.auth.x500

  - ### Class javax.security.auth.x500.X500Principal extends Object implements Serializable

    serialVersionUID:
      -500463348111345721L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    NotActiveException,
                                    ClassNotFoundException

        Reads this object from a stream (i.e., deserializes it).
        Throws:
          `IOException`
          `NotActiveException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Save the X500Principal object to a stream.
        Serial Data:
          this `X500Principal` is serialized by writing out its DER-encoded form (the value of `getEncoded` is serialized).
        Throws:
          `IOException`

- ## Package javax.security.cert

  - ### Class javax.security.cert.CertificateEncodingException extends CertificateException implements Serializable

    serialVersionUID:
      -8187642723048403470L

  - ### Class javax.security.cert.CertificateException extends Exception implements Serializable

    serialVersionUID:
      -5757213374030785290L

  - ### Class javax.security.cert.CertificateExpiredException extends CertificateException implements Serializable

    serialVersionUID:
      5091601212177261883L

  - ### Class javax.security.cert.CertificateNotYetValidException extends CertificateException implements Serializable

    serialVersionUID:
      -8976172474266822818L

  - ### Class javax.security.cert.CertificateParsingException extends CertificateException implements Serializable

    serialVersionUID:
      -8449352422951136229L

- ## Package javax.security.sasl

  - ### Class javax.security.sasl.AuthenticationException extends SaslException implements Serializable

    serialVersionUID:
      -3579708765071815007L

  - ### Class javax.security.sasl.AuthorizeCallback extends Object implements Serializable

    serialVersionUID:
      -2353344186490470805L

    - ### Serialized Fields

      - #### authenticationID

            String authenticationID

        The (authenticated) authentication id to check.

      - #### authorizationID

            String authorizationID

        The authorization id to check.

      - #### authorized

            boolean authorized

        A flag indicating whether the authentication id is allowed to act on behalf of the authorization id.

      - #### authorizedID

            String authorizedID

        The id of the authorized entity. If null, the id of the authorized entity is authorizationID.

  - ### Class javax.security.sasl.RealmCallback extends TextInputCallback implements Serializable

    serialVersionUID:
      -4342673378785456908L

  - ### Class javax.security.sasl.RealmChoiceCallback extends ChoiceCallback implements Serializable

    serialVersionUID:
      -8588141348846281332L

  - ### Class javax.security.sasl.SaslException extends IOException implements Serializable

    serialVersionUID:
      4579784287983423626L

    - ### Serialized Fields

      - #### _exception

            Throwable _exception

        The possibly null root cause exception.

- ## Package javax.smartcardio

  - ### Class javax.smartcardio.ATR extends Object implements Serializable

    serialVersionUID:
      6695383790847736493L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### atr

            byte[] atr

  - ### Class javax.smartcardio.CardException extends Exception implements Serializable

    serialVersionUID:
      7787607144922050628L

  - ### Class javax.smartcardio.CardNotPresentException extends CardException implements Serializable

    serialVersionUID:
      1346879911706545215L

  - ### Class javax.smartcardio.CardPermission extends Permission implements Serializable

    serialVersionUID:
      7146787880530705613L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Throws:
          `IOException`

    - ### Serialized Fields

      - #### actions

            String actions

  - ### Class javax.smartcardio.CommandAPDU extends Object implements Serializable

    serialVersionUID:
      398698301286670877L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### apdu

            byte[] apdu

  - ### Class javax.smartcardio.ResponseAPDU extends Object implements Serializable

    serialVersionUID:
      6962744978375594225L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### apdu

            byte[] apdu

- ## Package javax.sound.midi

  - ### Class javax.sound.midi.InvalidMidiDataException extends Exception implements Serializable

    serialVersionUID:
      2780771756789932067L

  - ### Class javax.sound.midi.MidiUnavailableException extends Exception implements Serializable

    serialVersionUID:
      6093809578628944323L

- ## Package javax.sound.sampled

  - ### Class javax.sound.sampled.AudioPermission extends BasicPermission implements Serializable

    serialVersionUID:
      -5518053473477801126L

  - ### Class javax.sound.sampled.LineUnavailableException extends Exception implements Serializable

    serialVersionUID:
      -2046718279487432130L

  - ### Class javax.sound.sampled.UnsupportedAudioFileException extends Exception implements Serializable

    serialVersionUID:
      -139127412623160368L

- ## Package javax.sql

  - ### Class javax.sql.ConnectionEvent extends EventObject implements Serializable

    serialVersionUID:
      -4843217645290030002L

    - ### Serialized Fields

      - #### ex

            SQLException ex

        The `SQLException` that the driver will throw to the application when an error occurs and the pooled connection is no longer usable.

  - ### Class javax.sql.RowSetEvent extends EventObject implements Serializable

    serialVersionUID:
      -1875450876546332005L

  - ### Class javax.sql.StatementEvent extends EventObject implements Serializable

    serialVersionUID:
      -8089573731826608315L

    - ### Serialized Fields

      - #### exception

            SQLException exception

      - #### statement

            PreparedStatement statement

- ## Package javax.sql.rowset

  - ### Class javax.sql.rowset.BaseRowSet extends Object implements Serializable

    serialVersionUID:
      4886719666485113312L

    - ### Serialized Fields

      - #### asciiStream

            InputStream asciiStream

        The `InputStream` object that will be returned by the method `getAsciiStream`, which is specified in the `ResultSet` interface.

      - #### binaryStream

            InputStream binaryStream

        The `InputStream` object that will be returned by the method `getBinaryStream`, which is specified in the `ResultSet` interface.

      - #### charStream

            Reader charStream

        The `Reader` object that will be returned by the method `getCharacterStream`, which is specified in the `ResultSet` interface.

      - #### command

            String command

        The query that will be sent to the DBMS for execution when the method `execute` is called.

      - #### concurrency

            int concurrency

        A constant indicating the concurrency of this JDBC `RowSet` object. It must be one of the following `ResultSet` constants: `CONCUR_READ_ONLY` or `CONCUR_UPDATABLE`.

      - #### dataSource

            String dataSource

        The logical name of the data source that the reader/writer should use in order to retrieve a `DataSource` object from a Java Directory and Naming Interface (JNDI) naming service.

      - #### escapeProcessing

            boolean escapeProcessing

        A `boolean` indicating whether the reader for this JDBC `RowSet` object should perform escape processing. `true` means that escape processing is turned on; `false` that it is not. The default is `true`.

      - #### fetchDir

            int fetchDir

        A constant used as a hint to the driver that indicates the direction in which data from this JDBC `RowSet` object is going to be fetched. The following `ResultSet` constants are possible values: `FETCH_FORWARD`, `FETCH_REVERSE`, `FETCH_UNKNOWN`.

        Unused at this time.

      - #### fetchSize

            int fetchSize

        A hint to the driver that indicates the expected number of rows in this JDBC `RowSet` object .

        Unused at this time.

      - #### isolation

            int isolation

        A constant indicating the isolation level of the connection for this JDBC `RowSet` object . It must be one of the following `Connection` constants: `TRANSACTION_NONE`, `TRANSACTION_READ_UNCOMMITTED`, `TRANSACTION_READ_COMMITTED`, `TRANSACTION_REPEATABLE_READ` or `TRANSACTION_SERIALIZABLE`.

      - #### listeners

            Vector<E> listeners

        A `Vector` object that holds the list of listeners that have registered with this `RowSet` object.

      - #### map

            Map<K,V> map

        The `java.util.Map` object that contains entries mapping SQL type names to classes in the Java programming language for the custom mapping of user-defined types.

      - #### maxFieldSize

            int maxFieldSize

        The maximum field size the reader should read.

      - #### maxRows

            int maxRows

        The maximum number of rows the reader should read.

      - #### params

            Hashtable<K,V> params

        A `Vector` object that holds the parameters set for this `RowSet` object's current command.

      - #### queryTimeout

            int queryTimeout

        The maximum number of seconds the driver will wait for a command to execute. This limit applies while this JDBC `RowSet` object is connected to its data source, that is, while it is populating itself with data and while it is writing data back to the data source.

      - #### readOnly

            boolean readOnly

        A `boolean` indicating whether this JDBC `RowSet` object is read-only. `true` indicates that it is read-only; `false` that it is writable.

      - #### rowSetType

            int rowSetType

        A constant indicating the type of this JDBC `RowSet` object. It must be one of the following `ResultSet` constants: `TYPE_FORWARD_ONLY`, `TYPE_SCROLL_INSENSITIVE`, or `TYPE_SCROLL_SENSITIVE`.

      - #### showDeleted

            boolean showDeleted

        A `boolean` indicating whether deleted rows are visible in this JDBC `RowSet` object .

      - #### unicodeStream

            InputStream unicodeStream

        The `InputStream` object that will be returned by the method `getUnicodeStream`, which is specified in the `ResultSet` interface.

      - #### URL

            String URL

        The JDBC URL the reader, writer, or both supply to the method `DriverManager.getConnection` when the `DriverManager` is used to get a connection.

        The JDBC URL identifies the driver to be used to make the connection. This URL can be found in the documentation supplied by the driver vendor.

  - ### Class javax.sql.rowset.RowSetMetaDataImpl extends Object implements Serializable

    serialVersionUID:
      6893806403181801867L

    - ### Serialized Fields

      - #### colCount

            int colCount

        The number of columns in the `RowSet` object that created this `RowSetMetaDataImpl` object.

      - #### colInfo

            javax.sql.rowset.RowSetMetaDataImpl.ColInfo[] colInfo

        An array of `ColInfo` objects used to store information about each column in the `RowSet` object for which this `RowSetMetaDataImpl` object was created. The first `ColInfo` object in this array contains information about the first column in the `RowSet` object, the second element contains information about the second column, and so on.

  - ### Class javax.sql.rowset.RowSetWarning extends SQLException implements Serializable

    serialVersionUID:
      6678332766434564774L

- ## Package javax.sql.rowset.serial

  - ### Class javax.sql.rowset.serial.SerialArray extends Object implements Serializable

    serialVersionUID:
      -8466174297270688520L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the `SerialArray` from a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException,
                                     ClassNotFoundException

        writeObject is called to save the state of the `SerialArray` to a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### baseType

            int baseType

        The SQL type of the elements in this `SerialArray` object. The type is expressed as one of the constants from the class `java.sql.Types`.

      - #### baseTypeName

            String baseTypeName

        The type name used by the DBMS for the elements in the SQL `ARRAY` value that this `SerialArray` object represents.

      - #### elements

            Object[] elements

        A serialized array in which each element is an `Object` in the Java programming language that represents an element in the SQL `ARRAY` value.

      - #### len

            int len

        The number of elements in this `SerialArray` object, which is also the number of elements in the SQL `ARRAY` value that this `SerialArray` object represents.

  - ### Class javax.sql.rowset.serial.SerialBlob extends Object implements Serializable

    serialVersionUID:
      -8144641928112860441L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the SerialBlob from a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException,
                                     ClassNotFoundException

        writeObject is called to save the state of the SerialBlob to a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### blob

            Blob blob

        The internal representation of the `Blob` object on which this `SerialBlob` object is based.

      - #### buf

            byte[] buf

        A serialized array of uninterpreted bytes representing the value of this `SerialBlob` object.

      - #### len

            long len

        The number of bytes in this `SerialBlob` object's array of bytes.

      - #### origLen

            long origLen

        The original number of bytes in this `SerialBlob` object's array of bytes when it was first established.

  - ### Class javax.sql.rowset.serial.SerialClob extends Object implements Serializable

    serialVersionUID:
      -1662519690087375313L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the SerialClob from a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException,
                                     ClassNotFoundException

        writeObject is called to save the state of the SerialClob to a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### buf

            char[] buf

        A serialized array of characters containing the data of the SQL `CLOB` value that this `SerialClob` object represents.

      - #### clob

            Clob clob

        Internal Clob representation if SerialClob is initialized with a Clob. Null if SerialClob is initialized with a char[].

      - #### len

            long len

        The length in characters of this `SerialClob` object's internal array of characters.

      - #### origLen

            long origLen

        The original length in characters of this `SerialClob` object's internal array of characters.

  - ### Class javax.sql.rowset.serial.SerialDatalink extends Object implements Serializable

    serialVersionUID:
      2826907821828733626L

    - ### Serialized Fields

      - #### baseType

            int baseType

        The SQL type of the elements in this `SerialDatalink` object. The type is expressed as one of the constants from the class `java.sql.Types`.

      - #### baseTypeName

            String baseTypeName

        The type name used by the DBMS for the elements in the SQL `DATALINK` value that this SerialDatalink object represents.

      - #### url

            URL url

        The extracted URL field retrieved from the DATALINK field.

  - ### Class javax.sql.rowset.serial.SerialException extends SQLException implements Serializable

    serialVersionUID:
      -489794565168592690L

  - ### Class javax.sql.rowset.serial.SerialJavaObject extends Object implements Serializable

    serialVersionUID:
      -1465795139032831023L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the `SerialJavaObject` from a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        writeObject is called to save the state of the `SerialJavaObject` to a stream.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### chain

            Vector<E> chain

        A container for the warnings issued on this `SerialJavaObject` object. When there are multiple warnings, each warning is chained to the previous warning.

      - #### obj

            Object obj

        Placeholder for object to be serialized.

  - ### Class javax.sql.rowset.serial.SerialRef extends Object implements Serializable

    serialVersionUID:
      -4727123500609662274L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the SerialRef from a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException,
                                     ClassNotFoundException

        writeObject is called to save the state of the SerialRef to a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### baseTypeName

            String baseTypeName

        String containing the base type name.

      - #### object

            Object object

        This will store the type `Ref` as an `Object`.

      - #### reference

            Ref reference

        Private copy of the Ref reference.

  - ### Class javax.sql.rowset.serial.SerialStruct extends Object implements Serializable

    serialVersionUID:
      -8322445504027483372L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        readObject is called to restore the state of the `SerialStruct` from a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException,
                                     ClassNotFoundException

        writeObject is called to save the state of the `SerialStruct` to a stream.
        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### attribs

            Object[] attribs

        An array of `Object` instances in which each element is an attribute of the SQL structured type that this `SerialStruct` object represents. The attributes are ordered according to their order in the definition of the SQL structured type.

      - #### SQLTypeName

            String SQLTypeName

        The SQL type name for the structured type that this `SerialStruct` object represents. This is the name used in the SQL definition of the SQL structured type.

- ## Package javax.sql.rowset.spi

  - ### Class javax.sql.rowset.spi.SyncFactoryException extends SQLException implements Serializable

    serialVersionUID:
      -4354595476433200352L

  - ### Class javax.sql.rowset.spi.SyncProviderException extends SQLException implements Serializable

    serialVersionUID:
      -939908523620640692L

    - ### Serialized Fields

      - #### syncResolver

            SyncResolver syncResolver

        The instance of `javax.sql.rowset.spi.SyncResolver` that this `SyncProviderException` object will return when its `getSyncResolver` method is called.

- ## Package javax.transaction

  - ### Class javax.transaction.InvalidTransactionException extends RemoteException implements Serializable

    serialVersionUID:
      3597320220337691496L

  - ### Class javax.transaction.TransactionRequiredException extends RemoteException implements Serializable

    serialVersionUID:
      -1898806419937446439L

  - ### Class javax.transaction.TransactionRolledbackException extends RemoteException implements Serializable

    serialVersionUID:
      -3142798139623020577L

- ## Package javax.transaction.xa

  - ### Class javax.transaction.xa.XAException extends Exception implements Serializable

    serialVersionUID:
      -8249683284832867751L

    - ### Serialized Fields

      - #### errorCode

            int errorCode

        The error code with which to create the SystemException.
        The error code for the exception

- ## Package javax.xml.bind

  - ### Class javax.xml.bind.DataBindingException extends RuntimeException implements Serializable

  - ### Class javax.xml.bind.JAXBElement extends Object implements Serializable

    serialVersionUID:
      1L

    - ### Serialized Fields

      - #### declaredType

            Class<T> declaredType

        Java datatype binding for xml element declaration's type.

      - #### name

            QName name

        xml element tag name

      - #### nil

            boolean nil

        true iff the xml element instance has xsi:nil="true".

      - #### scope

            Class<T> scope

        Scope of xml element declaration representing this xml element instance. Can be one of the following values: - `JAXBElement.GlobalScope` for global xml element declaration. - local element declaration has a scope set to the Java class representation of complex type defintion containing xml element declaration.

      - #### value

            Object value

        xml element value. Represents content model and attributes of an xml element instance.

  - ### Class javax.xml.bind.JAXBException extends Exception implements Serializable

    serialVersionUID:
      -5621384651494307979L

    - ### Serialized Fields

      - #### errorCode

            String errorCode

        Vendor specific error code

      - #### linkedException

            Throwable linkedException

        Exception reference

  - ### Class javax.xml.bind.JAXBPermission extends BasicPermission implements Serializable

    serialVersionUID:
      1L

  - ### Class javax.xml.bind.MarshalException extends JAXBException implements Serializable

  - ### Class javax.xml.bind.PropertyException extends JAXBException implements Serializable

  - ### Class javax.xml.bind.TypeConstraintException extends RuntimeException implements Serializable

    serialVersionUID:
      -3059799699420143848L

    - ### Serialized Fields

      - #### errorCode

            String errorCode

        Vendor specific error code

      - #### linkedException

            Throwable linkedException

        Exception reference

  - ### Class javax.xml.bind.UnmarshalException extends JAXBException implements Serializable

  - ### Class javax.xml.bind.ValidationException extends JAXBException implements Serializable

- ## Package javax.xml.catalog

  - ### Class javax.xml.catalog.CatalogException extends RuntimeException implements Serializable

    serialVersionUID:
      653231525876459057L

- ## Package javax.xml.crypto

  - ### Class javax.xml.crypto.KeySelectorException extends Exception implements Serializable

    serialVersionUID:
      -7480033639322531109L

    - ### Serialized Fields

      - #### cause

            Throwable cause

        The throwable that caused this exception to get thrown, or `null` if this exception was not caused by another throwable or if the causative throwable is unknown.

  - ### Class javax.xml.crypto.MarshalException extends Exception implements Serializable

    serialVersionUID:
      -863185580332643547L

    - ### Serialized Fields

      - #### cause

            Throwable cause

        The throwable that caused this exception to get thrown, or null if this exception was not caused by another throwable or if the causative throwable is unknown.

  - ### Class javax.xml.crypto.NoSuchMechanismException extends RuntimeException implements Serializable

    serialVersionUID:
      4189669069570660166L

    - ### Serialized Fields

      - #### cause

            Throwable cause

        The throwable that caused this exception to get thrown, or null if this exception was not caused by another throwable or if the causative throwable is unknown.

  - ### Class javax.xml.crypto.URIReferenceException extends Exception implements Serializable

    serialVersionUID:
      7173469703932561419L

    - ### Serialized Fields

      - #### cause

            Throwable cause

        The throwable that caused this exception to get thrown, or null if this exception was not caused by another throwable or if the causative throwable is unknown.

      - #### uriReference

            URIReference uriReference

- ## Package javax.xml.crypto.dsig

  - ### Class javax.xml.crypto.dsig.TransformException extends Exception implements Serializable

    serialVersionUID:
      5082634801360427800L

    - ### Serialized Fields

      - #### cause

            Throwable cause

        The throwable that caused this exception to get thrown, or null if this exception was not caused by another throwable or if the causative throwable is unknown.

  - ### Class javax.xml.crypto.dsig.XMLSignatureException extends Exception implements Serializable

    serialVersionUID:
      -3438102491013869995L

    - ### Serialized Fields

      - #### cause

            Throwable cause

        The throwable that caused this exception to get thrown, or null if this exception was not caused by another throwable or if the causative throwable is unknown.

- ## Package javax.xml.datatype

  - ### Class javax.xml.datatype.DatatypeConfigurationException extends Exception implements Serializable

- ## Package javax.xml.namespace

  - ### Class javax.xml.namespace.QName extends Object implements Serializable

    - ### Serialized Fields

      - #### localPart

            String localPart

        local part of this `QName`.

      - #### namespaceURI

            String namespaceURI

        Namespace URI of this `QName`.

      - #### prefix

            String prefix

        prefix of this `QName`.

- ## Package javax.xml.parsers

  - ### Class javax.xml.parsers.FactoryConfigurationError extends Error implements Serializable

    serialVersionUID:
      -827108682472263355L

    - ### Serialized Fields

      - #### exception

            Exception exception

        `Exception` that represents the error.

  - ### Class javax.xml.parsers.ParserConfigurationException extends Exception implements Serializable

- ## Package javax.xml.soap

  - ### Class javax.xml.soap.SOAPException extends Exception implements Serializable

    - ### Serialized Fields

      - #### cause

            Throwable cause

- ## Package javax.xml.stream

  - ### Class javax.xml.stream.FactoryConfigurationError extends Error implements Serializable

    serialVersionUID:
      -2994412584589975744L

    - ### Serialized Fields

      - #### nested

            Exception nested

  - ### Class javax.xml.stream.XMLStreamException extends Exception implements Serializable

    - ### Serialized Fields

      - #### location

            Location location

      - #### nested

            Throwable nested

- ## Package javax.xml.transform

  - ### Class javax.xml.transform.TransformerConfigurationException extends TransformerException implements Serializable

    serialVersionUID:
      1285547467942875745L

  - ### Class javax.xml.transform.TransformerException extends Exception implements Serializable

    serialVersionUID:
      975798773772956428L

    - ### Serialized Fields

      - #### containedException

            Throwable containedException

        Field containedException specifies a wrapped exception. May be null.

      - #### locator

            SourceLocator locator

        Field locator specifies where the error occurred

  - ### Class javax.xml.transform.TransformerFactoryConfigurationError extends Error implements Serializable

    serialVersionUID:
      -6527718720676281516L

    - ### Serialized Fields

      - #### exception

            Exception exception

        `Exception` for the `TransformerFactoryConfigurationError`.

- ## Package javax.xml.validation

  - ### Class javax.xml.validation.SchemaFactoryConfigurationError extends Error implements Serializable

    serialVersionUID:
      3531438703147750126L

- ## Package javax.xml.ws

  - ### Class javax.xml.ws.Holder extends Object implements Serializable

    serialVersionUID:
      2623699057546497185L

    - ### Serialized Fields

      - #### value

            Object value

        The value contained in the holder.

  - ### Class javax.xml.ws.ProtocolException extends WebServiceException implements Serializable

  - ### Class javax.xml.ws.WebServiceException extends RuntimeException implements Serializable

  - ### Class javax.xml.ws.WebServicePermission extends BasicPermission implements Serializable

    serialVersionUID:
      -146474640053770988L

- ## Package javax.xml.ws.http

  - ### Class javax.xml.ws.http.HTTPException extends ProtocolException implements Serializable

    - ### Serialized Fields

      - #### statusCode

            int statusCode

- ## Package javax.xml.ws.soap

  - ### Class javax.xml.ws.soap.SOAPFaultException extends ProtocolException implements Serializable

    - ### Serialized Fields

      - #### fault

            SOAPFault fault

- ## Package javax.xml.xpath

  - ### Class javax.xml.xpath.XPathException extends Exception implements Serializable

    serialVersionUID:
      -1837080260374986980L

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream in)
                             throws IOException,
                                    ClassNotFoundException

        Reads the "cause" field from the stream. And initializes the "cause" if it wasn't done before.
        Throws:
          `IOException` - thrown by `ObjectInputStream`
          `ClassNotFoundException` - thrown by `ObjectInputStream`

      - #### writeObject

            private void writeObject​(ObjectOutputStream out)
                              throws IOException

        Writes "cause" field to the stream. The cause is got from the parent class.
        Throws:
          `IOException` - thrown by `ObjectOutputStream`

  - ### Class javax.xml.xpath.XPathExpressionException extends XPathException implements Serializable

    serialVersionUID:
      -1837080260374986980L

  - ### Class javax.xml.xpath.XPathFactoryConfigurationException extends XPathException implements Serializable

    serialVersionUID:
      -1837080260374986980L

  - ### Class javax.xml.xpath.XPathFunctionException extends XPathExpressionException implements Serializable

    serialVersionUID:
      -1837080260374986980L

- ## Package jdk.dynalink

  - ### Class jdk.dynalink.NoSuchDynamicMethodException extends RuntimeException implements Serializable

    serialVersionUID:
      1L

- ## Package jdk.dynalink.beans

  - ### Class jdk.dynalink.beans.StaticClass extends Object implements Serializable

    serialVersionUID:
      1L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve​()

        Returns `StaticClass.forClass(Class)` for the underlying `clazz` field ensuring that deserialization doesn't create non-canonical instances.

    - ### Serialized Fields

      - #### clazz

            Class<T> clazz

        The runtime `Class` object whose static members this `StaticClass` represents.

- ## Package jdk.incubator.http

  - ### Class jdk.incubator.http.HttpTimeoutException extends IOException implements Serializable

    serialVersionUID:
      981344271622632951L

  - ### Class jdk.incubator.http.WebSocketHandshakeException extends IOException implements Serializable

    serialVersionUID:
      1L

- ## Package jdk.jshell

  - ### Class jdk.jshell.EvalException extends JShellException implements Serializable

    - ### Serialized Fields

      - #### exceptionClass

            String exceptionClass

  - ### Class jdk.jshell.JShellException extends Exception implements Serializable

  - ### Class jdk.jshell.UnresolvedReferenceException extends JShellException implements Serializable

    - ### Serialized Fields

      - #### snippet

            DeclarationSnippet snippet

- ## Package jdk.jshell.spi

  - ### Class jdk.jshell.spi.ExecutionControl.ClassBytecodes extends Object implements Serializable

    serialVersionUID:
      54506481972415973L

    - ### Serialized Fields

      - #### bytecodes

            byte[] bytecodes

      - #### name

            String name

  - ### Class jdk.jshell.spi.ExecutionControl.ClassInstallException extends ExecutionControl.ExecutionControlException implements Serializable

    serialVersionUID:
      1L

    - ### Serialized Fields

      - #### installed

            boolean[] installed

  - ### Class jdk.jshell.spi.ExecutionControl.EngineTerminationException extends ExecutionControl.ExecutionControlException implements Serializable

    serialVersionUID:
      1L

  - ### Class jdk.jshell.spi.ExecutionControl.ExecutionControlException extends Exception implements Serializable

    serialVersionUID:
      1L

  - ### Class jdk.jshell.spi.ExecutionControl.InternalException extends ExecutionControl.ExecutionControlException implements Serializable

    serialVersionUID:
      1L

  - ### Class jdk.jshell.spi.ExecutionControl.NotImplementedException extends ExecutionControl.InternalException implements Serializable

    serialVersionUID:
      1L

  - ### Class jdk.jshell.spi.ExecutionControl.ResolutionException extends ExecutionControl.RunException implements Serializable

    serialVersionUID:
      1L

    - ### Serialized Fields

      - #### id

            int id

  - ### Class jdk.jshell.spi.ExecutionControl.RunException extends ExecutionControl.ExecutionControlException implements Serializable

    serialVersionUID:
      1L

  - ### Class jdk.jshell.spi.ExecutionControl.StoppedException extends ExecutionControl.RunException implements Serializable

    serialVersionUID:
      1L

  - ### Class jdk.jshell.spi.ExecutionControl.UserException extends ExecutionControl.RunException implements Serializable

    serialVersionUID:
      1L

    - ### Serialized Fields

      - #### causeExceptionClass

            String causeExceptionClass

  - ### Class jdk.jshell.spi.SPIResolutionException extends RuntimeException implements Serializable

    - ### Serialized Fields

      - #### id

            int id

- ## Package jdk.nashorn.api.scripting

  - ### Class jdk.nashorn.api.scripting.NashornException extends RuntimeException implements Serializable

    serialVersionUID:
      1L

    - ### Serialized Fields

      - #### column

            int column

      - #### ecmaError

            Object ecmaError

      - #### fileName

            String fileName

      - #### line

            int line

      - #### lineAndFileNameUnknown

            boolean lineAndFileNameUnknown

- ## Package jdk.nashorn.api.tree

  - ### Class jdk.nashorn.api.tree.UnknownTreeException extends RuntimeException implements Serializable

    serialVersionUID:
      1L

- ## Package jdk.net

  - ### Class jdk.net.NetworkPermission extends BasicPermission implements Serializable

    serialVersionUID:
      -2012939586906722291L

- ## Package jdk.security.jarsigner

  - ### Class jdk.security.jarsigner.JarSignerException extends RuntimeException implements Serializable

    serialVersionUID:
      -4732217075689309530L

- ## Package netscape.javascript

  - ### Class netscape.javascript.JSException extends RuntimeException implements Serializable

    serialVersionUID:
      2778103758223661489L

- ## Package org.ietf.jgss

  - ### Class org.ietf.jgss.GSSException extends Exception implements Serializable

    serialVersionUID:
      -2706218945227726672L

    - ### Serialized Fields

      - #### major

            int major

        The major code for this exception

      - #### majorString

            String majorString

        Alternate text string for major code

      - #### minor

            int minor

        The minor code for this exception

      - #### minorMessage

            String minorMessage

        The text string for minor code

- ## Package org.omg.CosNaming

  - ### Class org.omg.CosNaming._BindingIteratorImplBase extends DynamicImplementation implements Serializable

  - ### Class org.omg.CosNaming._BindingIteratorStub extends ObjectImpl implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException

        Throws:
          `IOException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Throws:
          `IOException`

  - ### Class org.omg.CosNaming._NamingContextExtStub extends ObjectImpl implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException

        Throws:
          `IOException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Throws:
          `IOException`

  - ### Class org.omg.CosNaming._NamingContextImplBase extends DynamicImplementation implements Serializable

  - ### Class org.omg.CosNaming._NamingContextStub extends ObjectImpl implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject​(ObjectInputStream s)
                             throws IOException

        Throws:
          `IOException`

      - #### writeObject

            private void writeObject​(ObjectOutputStream s)
                              throws IOException

        Throws:
          `IOException`

  - ### Class org.omg.CosNaming.Binding extends Object implements Serializable

    - ### Serialized Fields

      - #### binding_name

            NameComponent[] binding_name

      - #### binding_type

            BindingType binding_type

  - ### Class org.omg.CosNaming.BindingType extends Object implements Serializable

    - ### Serialized Fields

      - #### __value

            int __value

  - ### Class org.omg.CosNaming.NameComponent extends Object implements Serializable

    - ### Serialized Fields

      - #### id

            String id

      - #### kind

            String kind

- ## Package org.w3c.dom

  - ### Class org.w3c.dom.DOMException extends RuntimeException implements Serializable

    serialVersionUID:
      6627732366795969916L

    - ### Serialized Fields

      - #### code

            short code

- ## Package org.w3c.dom.events

  - ### Class org.w3c.dom.events.EventException extends RuntimeException implements Serializable

    - ### Serialized Fields

      - #### code

            short code

- ## Package org.w3c.dom.ls

  - ### Class org.w3c.dom.ls.LSException extends RuntimeException implements Serializable

    - ### Serialized Fields

      - #### code

            short code

- ## Package org.w3c.dom.ranges

  - ### Class org.w3c.dom.ranges.RangeException extends RuntimeException implements Serializable

    - ### Serialized Fields

      - #### code

            short code

- ## Package org.w3c.dom.xpath

  - ### Class org.w3c.dom.xpath.XPathException extends RuntimeException implements Serializable

    serialVersionUID:
      3471034171575979943L

    - ### Serialized Fields

      - #### code

            short code

- ## Package org.xml.sax

  - ### Class org.xml.sax.SAXException extends Exception implements Serializable

    serialVersionUID:
      583241635256073760L

    - ### Serialized Fields

      - #### exception

            Exception exception

        The embedded exception if tunnelling, or null.

  - ### Class org.xml.sax.SAXNotRecognizedException extends SAXException implements Serializable

    serialVersionUID:
      5440506620509557213L

  - ### Class org.xml.sax.SAXNotSupportedException extends SAXException implements Serializable

    serialVersionUID:
      -1422818934641823846L

  - ### Class org.xml.sax.SAXParseException extends SAXException implements Serializable

    serialVersionUID:
      -5651165872476709336L

    - ### Serialized Fields

      - #### columnNumber

            int columnNumber

        The column number, or -1.
        See Also:
          `SAXParseException.getColumnNumber()`

      - #### lineNumber

            int lineNumber

        The line number, or -1.
        See Also:
          `SAXParseException.getLineNumber()`

      - #### publicId

            String publicId

        The public identifier, or null.
        See Also:
          `SAXParseException.getPublicId()`

      - #### systemId

            String systemId

        The system identifier, or null.
        See Also:
          `SAXParseException.getSystemId()`