# Serialized Form

- ## 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

        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

  - ### 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

      - #### id

            int id

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

      - #### 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()`

  - ### 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`

    - ### 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

      - #### 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)`

      - #### 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)`

      - #### 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)`

      - #### 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)`

      - #### 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)`

      - #### 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)`

      - #### 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)`

      - #### 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 layed out. This will be the same for lastLine, firstItem, lastItem.

      - #### lastLine

            Component lastLine

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

      - #### firstItem

            Component firstItem

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

      - #### lastItem

            Component lastItem

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

  - ### 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

      - #### label

            String label

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

      - #### 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

  - ### 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

        deprectated, 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

      - #### 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)`

      - #### 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)`

      - #### checkboxSerializedDataVersion

            int checkboxSerializedDataVersion

  - ### 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

      - #### state

            boolean state

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

      - #### checkboxMenuItemSerializedDataVersion

            int checkboxMenuItemSerializedDataVersion

  - ### 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

      - #### 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)`

      - #### choiceSerializedDataVersion

            int choiceSerializedDataVersion

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

    serialVersionUID:
      7175603582428509322L

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

    serialVersionUID:
      118526816881161077L

    - ### Serialized Fields

      - #### value

            int value

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

      - #### 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[])`

      - #### 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[])`

      - #### 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[])`

  - ### 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

      - #### 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()`

      - #### width

            int width

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

      - #### height

            int height

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

      - #### foreground

            Color foreground

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

      - #### background

            Color background

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

      - #### font

            Font font

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

      - #### peerFont

            Font peerFont

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

      - #### 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)`

      - #### locale

            Locale locale

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

      - #### ignoreRepaint

            boolean ignoreRepaint

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

      - #### 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)`

      - #### 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)`

      - #### valid

            boolean valid

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

      - #### dropTarget

            DropTarget dropTarget

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

      - #### popups

            Vector<E> popups

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

      - #### 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)`

      - #### focusable

            boolean focusable

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

      - #### isFocusTraversableOverridden

            int isFocusTraversableOverridden

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

      - #### 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()`

      - #### 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.

      - #### 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.

      - #### maxSize

            Dimension maxSize

        Maximum size

      - #### maxSizeSet

            boolean maxSizeSet

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

      - #### 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)`

      - #### 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`

      - #### 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)`

      - #### isPacked

            boolean isPacked

      - #### 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.

      - #### autoFocusTransferOnDisposal

            boolean autoFocusTransferOnDisposal

      - #### componentSerializedDataVersion

            int componentSerializedDataVersion

        Component Serialized Data Version.

      - #### accessibleContext

            AccessibleContext accessibleContext

        The `AccessibleContext` associated with this `Component`.

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

    serialVersionUID:
      642321655757800191L

    - ### Serialized Fields

      - #### accessibleAWTComponentHandler

            ComponentListener accessibleAWTComponentHandler

      - #### accessibleAWTFocusHandler

            FocusListener accessibleAWTFocusHandler

  - ### 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 ContainerListner(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

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

    serialVersionUID:
      486933713763926351L

    - ### Serialized Fields

      - #### FORWARD_TRAVERSAL

            int FORWARD_TRAVERSAL

      - #### BACKWARD_TRAVERSAL

            int BACKWARD_TRAVERSAL

      - #### implicitDownCycleTraversal

            boolean implicitDownCycleTraversal

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

    serialVersionUID:
      8028237497568985504L

    - ### Serialized Fields

      - #### type

            int type

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

      - #### name

            String name

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

  - ### 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

      - #### 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)`

      - #### 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()`

      - #### 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)`

      - #### title

            String title

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

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

    serialVersionUID:
      4837230331833941201L

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

    serialVersionUID:
      4723952579491349524L

    - ### Serialized Fields

      - #### width

            int width

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

      - #### height

            int height

        The height 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

      - #### target

            Object target

        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

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

      - #### id

            int id

        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()`

      - #### x

            int x

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

      - #### y

            int y

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

      - #### key

            int key

        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

        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()`

      - #### clickCount

            int clickCount

        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()`

      - #### arg

            Object arg

        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.

      - #### evt

            Event evt

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

      - #### consumed

            boolean consumed

        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()`

  - ### 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

      - #### mode

            int mode

      - #### 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()`

      - #### multipleMode

            boolean multipleMode

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

      - #### filter

            FilenameFilter filter

  - ### 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)`

      - #### 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)`

      - #### hgap

            int hgap

        The flow layout manager allows a seperation 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)`

      - #### vgap

            int vgap

        The flow layout manager allows a seperation 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)`

      - #### alignOnBaseline

            boolean alignOnBaseline

        If true, components will be aligned on their baseline.

      - #### 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

  - ### 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

      - #### 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:
          JDK1.0
        See Also:
          `Font.getName()`

      - #### style

            int style

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

      - #### size

            int size

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

      - #### pointSize

            float pointSize

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

      - #### fontSerializedDataVersion

            int fontSerializedDataVersion

        The `Font` Serializable Data Form.

  - ### 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

      - #### maximizedBounds

            Rectangle maximizedBounds

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

      - #### 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)`

      - #### menuBar

            MenuBar menuBar

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

      - #### 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()`

      - #### 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()`

      - #### mbManagement

            boolean mbManagement

        `mbManagement` is only used by the Motif implementation.

      - #### state

            int state

      - #### ownedWindows

            Vector<E> ownedWindows

      - #### frameSerializedDataVersion

            int frameSerializedDataVersion

        `Frame`'s Serialized Data Version.

  - ### 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

      - #### 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`

      - #### 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`

      - #### 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`

      - #### 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`

      - #### 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()`

      - #### 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`

      - #### tempX

            int tempX

        Temporary place holder for the x coordinate.

      - #### tempY

            int tempY

        Temporary place holder for the y coordinate.

      - #### tempWidth

            int tempWidth

        Temporary place holder for the Width of the component.

      - #### tempHeight

            int tempHeight

        Temporary place holder for the Height of the component.

      - #### 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`

      - #### 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`

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

    serialVersionUID:
      8838754796412211005L

    - ### Serialized Fields

      - #### 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)`

      - #### 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()`

      - #### 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()`

      - #### 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.

      - #### 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.

      - #### componentAdjusting

            Component componentAdjusting

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

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

    serialVersionUID:
      -4899416460737170217L

    - ### Serialized Fields

      - #### width

            int width

      - #### height

            int height

      - #### startx

            int startx

      - #### starty

            int starty

      - #### minWidth

            int[] minWidth

      - #### minHeight

            int[] minHeight

      - #### weightX

            double[] weightX

      - #### weightY

            double[] weightY

      - #### hasBaseline

            boolean hasBaseline

      - #### baselineType

            short[] baselineType

      - #### maxAscent

            int[] maxAscent

      - #### maxDescent

            int[] maxDescent

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

    serialVersionUID:
      -7411804673224730901L

    - ### Serialized Fields

      - #### 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)`

      - #### 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)`

      - #### 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)`

      - #### 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)`

  - ### 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

      - #### 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()`

      - #### 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()`

      - #### 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()`

      - #### 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()`

  - ### 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

      - #### 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)`

      - #### alignment

            int alignment

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

  - ### 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)`

      - #### 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()`

      - #### 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)`

      - #### 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)`

      - #### listSerializedDataVersion

            int listSerializedDataVersion

        The `List` component's Serialized Data Version.

  - ### 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

      - #### parent

            List parent

      - #### indexInParent

            int indexInParent

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

    serialVersionUID:
      -483174189758638095L

    - ### Serialized Fields

      - #### target

            Component target

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

      - #### 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)`

  - ### 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

      - #### items

            Vector<E> items

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

      - #### 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()`

      - #### 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`.

      - #### menuSerializedDataVersion

            int menuSerializedDataVersion

        The menu serialized Data Version.

  - ### 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

      - #### menus

            Vector<E> menus

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

      - #### 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.

  - ### 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

      - #### 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)`

      - #### accessibleContext

            AccessibleContext accessibleContext

  - ### 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

      - #### 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)`

      - #### label

            String label

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

      - #### actionCommand

            String actionCommand

        This field indicates the command tha 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()`

      - #### 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.

      - #### 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()`

      - #### menuItemSerializedDataVersion

            int menuItemSerializedDataVersion

        Menu item serialized data version.

  - ### 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:
          JDK1.1
        See Also:
          `MenuShortcut.getKey()`, `MenuShortcut.usesShiftModifier()`, `KeyEvent`

      - #### usesShift

            boolean usesShift

        Indicates whether the shft key was pressed. If true, the shift key was pressed. If false, the shift key was not pressed
        Since:
          JDK1.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

      - #### 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)`

      - #### bounds

            Rectangle bounds

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

  - ### 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

      - #### 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()`

      - #### width

            int width

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

      - #### height

            int height

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

  - ### 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

      - #### 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)`

      - #### 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)`

      - #### 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)`

      - #### 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)`

      - #### 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)`

      - #### 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.

  - ### 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

      - #### 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()`

      - #### 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()`

      - #### 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

      - #### sp

            ScrollPane sp

        The `ScrollPane` this object is a scrollbar of.

      - #### orientation

            int orientation

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

      - #### 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)`

      - #### 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)`

      - #### 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)`

      - #### 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)`

      - #### 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)`

      - #### 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)`

      - #### adjustmentListener

            AdjustmentListener adjustmentListener

  - ### 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

      - #### 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)`

      - #### 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()`

      - #### 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

      - #### text

            String text

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

      - #### 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()`

      - #### 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)`

      - #### 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)`

      - #### backgroundSetByClientCode

            boolean backgroundSetByClientCode

      - #### textComponentSerializedDataVersion

            int textComponentSerializedDataVersion

        The textComponent SerializedDataVersion.

      - #### checkForEnableIM

            boolean checkForEnableIM

  - ### 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

      - #### 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()`

      - #### syncLWRequests

            boolean syncLWRequests

      - #### state

            int state

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

      - #### alwaysOnTop

            boolean alwaysOnTop

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

      - #### modalExclusionType

            Dialog.ModalExclusionType modalExclusionType

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

      - #### focusMgr

            java.awt.FocusManager focusMgr

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

      - #### focusableWindowState

            boolean focusableWindowState

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

      - #### 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()`

      - #### 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)`

      - #### type

            Window.Type type

        Window type. Synchronization: ObjectLock

      - #### windowSerializedDataVersion

            int windowSerializedDataVersion

        The window serialized data version.

      - #### locationByPlatform

            boolean locationByPlatform

  - ### 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

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

    serialVersionUID:
      -409452704308689724L

    - ### Serialized Fields

      - #### type

            int type

      - #### numComponents

            int numComponents

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

    serialVersionUID:
      3455889114070431483L

    - ### Serialization Methods

      - #### readObject

            private void readObject(ObjectInputStream s)
                             throws ClassNotFoundException,
                                    IOException

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

    - ### Serialized Fields

      - #### thisProfile

            ICC_Profile thisProfile

      - #### minVal

            float[] minVal

      - #### maxVal

            float[] maxVal

      - #### diffMinMax

            float[] diffMinMax

      - #### invDiffMinMax

            float[] invDiffMinMax

      - #### needScaleInit

            boolean needScaleInit

  - ### 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[])`

      - #### 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`.

      - #### 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

    - ### 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

- ## 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

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

    serialVersionUID:
      5383814944251665601L

- ## 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

      - #### dragSource

            DragSource dragSource

        The DragSource associated with this DragGestureEvent.

      - #### component

            Component component

        The Component associated with this DragGestureEvent.

      - #### origin

            Point origin

        The origin of the drag.

      - #### action

            int action

        The user's preferred action.

  - ### 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

      - #### dragSource

            DragSource dragSource

        The `DragSource` associated with this `DragGestureRecognizer`.

      - #### component

            Component component

        The `Component` associated with this `DragGestureRecognizer`.

      - #### sourceActions

            int sourceActions

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

      - #### events

            ArrayList<E> events

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

  - ### 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

      - #### trigger

            DragGestureEvent trigger

        The event which triggered the start of the drag.

      - #### cursor

            Cursor cursor

        The current drag cursor.

      - #### useCustomCursor

            boolean useCustomCursor

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

      - #### 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.`

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

    serialVersionUID:
      481346297933902471L

    - ### Serialized Fields

      - #### targetActions

            int targetActions

        The target drop action.

      - #### 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.

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

    serialVersionUID:
      -5571321229470821891L

    - ### Serialized Fields

      - #### dropSuccess

            boolean dropSuccess

        `true` if the drop was successful.

      - #### dropAction

            int dropAction

        The drop action.

  - ### 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

      - #### dropTargetContext

            DropTargetContext dropTargetContext

        The DropTargetContext associated with this DropTarget.

      - #### component

            Component component

        The Component associated with this DropTarget.

      - #### 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.

  - ### 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

      - #### location

            Point location

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

      - #### actions

            int actions

        The source drop actions.

      - #### dropAction

            int dropAction

        The user drop action.

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

    serialVersionUID:
      -1721911170440459322L

    - ### Serialized Fields

      - #### location

            Point location

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

      - #### 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.

  - ### 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()`

      - #### 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()`

      - #### 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()`

  - ### 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()`

      - #### 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()`

      - #### 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()`

  - ### 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

    - ### Serialized Fields

      - #### 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

      - #### 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()`

      - #### 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`

  - ### 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

      - #### runnable

            Runnable runnable

        The Runnable whose run() method will be called.

      - #### 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()`

      - #### 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()`

      - #### dispatched

            boolean dispatched

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

      - #### 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.

      - #### 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.

      - #### 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 overlaping 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

      - #### 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)`

      - #### 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)`

      - #### 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.

  - ### 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

      - #### 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()`

      - #### 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()`

      - #### 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.

      - #### 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.

      - #### 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()`

      - #### 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()`

      - #### 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()`

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

    serialVersionUID:
      6459879390515399677L

    - ### Serialized Fields

      - #### 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()`

      - #### 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()`

      - #### wheelRotation

            int wheelRotation

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

      - #### preciseWheelRotation

            double preciseWheelRotation

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

  - ### 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

      - #### oldState

            int oldState

        TBS

      - #### newState

            int newState

- ## 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

      - #### writeObject

            private void writeObject(ObjectOutputStream s)
                              throws ClassNotFoundException,
                                     IOException

        Throws:
          `ClassNotFoundException`
          `IOException`

      - #### readResolve

            private Object readResolve()
                                throws ObjectStreamException

        Throws:
          `ObjectStreamException`

    - ### 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.

      - #### m10

            double m10

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

      - #### m01

            double m01

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

      - #### m11

            double m11

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

      - #### m02

            double m02

        The X coordinate of the translation 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

      - #### 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

      - #### 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

      - #### 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

      - #### extent

            double extent

        The angular extent of the arc in degrees.
        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

      - #### 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

      - #### 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

      - #### 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

      - #### extent

            float extent

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

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

    serialVersionUID:
      -4202960122839707295L

    - ### Serialized Fields

      - #### x1

            double x1

        The X coordinate of the start 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

      - #### ctrlx1

            double ctrlx1

        The X coordinate of the first 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

      - #### ctrlx2

            double ctrlx2

        The X coordinate of the second 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

      - #### x2

            double x2

        The X coordinate of the end 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

      - #### x1

            float x1

        The X coordinate of the start 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

      - #### ctrlx1

            float ctrlx1

        The X coordinate of the first 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

      - #### ctrlx2

            float ctrlx2

        The X coordinate of the second 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

      - #### x2

            float x2

        The X coordinate of the end 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

      - #### 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

      - #### width

            double width

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

      - #### height

            double height

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

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

    serialVersionUID:
      -6633761252372475977L

    - ### Serialized Fields

      - #### 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

      - #### width

            float width

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

      - #### height

            float height

        The overall height 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

  - ### 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

      - #### y1

            double y1

        The Y 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

      - #### 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

      - #### y1

            float y1

        The Y 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

      - #### 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

  - ### 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:

          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:

          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

      - #### x1

            double x1

        The X coordinate of the start 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

      - #### 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

      - #### x2

            double x2

        The X coordinate of the end 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

      - #### x1

            float x1

        The X coordinate of the start 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

      - #### 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

      - #### x2

            float x2

        The X coordinate of the end 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

      - #### x

            double x

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

      - #### y

            double y

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

      - #### width

            double width

        The width of this `Rectangle2D`.
        Since:
          1.2

      - #### height

            double height

        The height of this `Rectangle2D`.
        Since:
          1.2

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

    serialVersionUID:
      3798716824173675777L

    - ### Serialized Fields

      - #### x

            float x

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

      - #### y

            float y

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

      - #### width

            float width

        The width of this `Rectangle2D`.
        Since:
          1.2

      - #### height

            float height

        The height of this `Rectangle2D`.
        Since:
          1.2

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

    serialVersionUID:
      1048939333485206117L

    - ### Serialized Fields

      - #### x

            double x

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

      - #### y

            double y

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

      - #### width

            double width

        The width of this `RoundRectangle2D`.
        Since:
          1.2

      - #### height

            double height

        The height of this `RoundRectangle2D`.
        Since:
          1.2

      - #### arcwidth

            double arcwidth

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

      - #### archeight

            double archeight

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

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

    serialVersionUID:
      -3423150618393866922L

    - ### Serialized Fields

      - #### x

            float x

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

      - #### y

            float y

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

      - #### width

            float width

        The width of this `RoundRectangle2D`.
        Since:
          1.2

      - #### height

            float height

        The height of this `RoundRectangle2D`.
        Since:
          1.2

      - #### arcwidth

            float arcwidth

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

      - #### archeight

            float archeight

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

- ## Package java.awt.image

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

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

- ## Package java.awt.image.renderable

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

    - ### Serialized Fields

      - #### sources

            Vector<E> sources

        A Vector of sources, stored as arbitrary Objects.

      - #### parameters

            Vector<E> parameters

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

- ## Package java.awt.print

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

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

  - ### 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

      - #### propertyName

            String propertyName

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

      - #### 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()`

  - ### 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

        The object to be provided as the "source" for any generated events.

  - ### 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

        The object to be provided as the "source" for any generated events.

      - #### 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

      - #### serviceClass

            Class<T> serviceClass

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

      - #### invalidateRefs

            boolean invalidateRefs

  - ### 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

      - #### serializable

            int serializable

      - #### locale

            Locale locale

        The current locale of this BeanContext.

      - #### okToUseGui

            boolean okToUseGui

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

      - #### designTime

            boolean designTime

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

  - ### 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

      - #### length

            int length

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

      - #### eof

            boolean eof

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

  - ### 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

      - #### enumType

            Class<T> enumType

        The type of the missing enum constant.

      - #### constantName

            String constantName

        The name 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.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.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

      - #### declaringClass

            String declaringClass

      - #### methodName

            String methodName

      - #### fileName

            String fileName

      - #### lineNumber

            int lineNumber

  - ### 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

      - #### detailMessage

            String detailMessage

        Specific details about the Throwable. For example, for `FileNotFoundException`, this contains the name of the file that could not be found.

      - #### 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

      - #### 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 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

      - #### element

            Method element

        The `Method` object for the annotation element.

      - #### 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

- ## 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()`, `MethodType.readResolve()`, `MethodType.writeObject(java.io.ObjectOutputStream)`

      - #### 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

      - #### readResolve

            private Object readResolve()

        Resolves and initializes a `MethodType` object after serialization.

    - ### 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

      - #### capturingClass

            Class<T> capturingClass

      - #### functionalInterfaceClass

            String functionalInterfaceClass

      - #### functionalInterfaceMethodName

            String functionalInterfaceMethodName

      - #### functionalInterfaceMethodSignature

            String functionalInterfaceMethodSignature

      - #### implClass

            String implClass

      - #### implMethodName

            String implMethodName

      - #### implMethodSignature

            String implMethodSignature

      - #### implMethodKind

            int implMethodKind

      - #### instantiatedMethodType

            String instantiatedMethodType

      - #### capturedArgs

            Object[] capturedArgs

  - ### 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.reflect

  - ### Class java.lang.reflect.GenericSignatureFormatError extends ClassFormatError implements Serializable

    serialVersionUID:
      6709919147137911034L

  - ### 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, bitCount, bitLength and lowestSetBit, 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 be 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.
        Serial Data:
          two necessary fields are written as well as obsolete fields for compatibility with older versions.
        Throws:
          `IOException`

    - ### Serialization Overview

      - Serializable fields for BigInteger.

    - ### Serialized Fields

      - #### bitCount

            int bitCount

        number of bits in this BigInteger

      - #### bitLength

            int bitLength

        the number of bits in the minimal two's-complement representation of this BigInteger

      - #### lowestSetBit

            int lowestSetBit

        lowest set bit in the twos complement representation

      - #### magnitude

            int[] 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

      - #### responseCode

            int responseCode

      - #### location

            String location

  - ### 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`

      - #### writeObject

            private void writeObject(ObjectOutputStream s)
                              throws IOException

        Throws:
          `IOException`

      - #### 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

      - #### readObjectNoData

            private void readObjectNoData(ObjectInputStream s)
                                   throws IOException,
                                          ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### 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`

      - #### writeObject

            private void writeObject(ObjectOutputStream out)
                              throws IOException

        Throws:
          `IOException`

      - #### readObjectNoData

            private void readObjectNoData()
                                   throws ObjectStreamException

        Throws:
          `ObjectStreamException`

    - ### 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

      - #### input

            String input

      - #### index

            int index

  - ### 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`

      - #### 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`

      - #### 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

    - ### Serialized Fields

      - #### authority

            String authority

        The authority part of this URL.

      - #### file

            String file

        The specified file name on that host. {@code file} is defined as {@code path[?query]}

      - #### hashCode

            int hashCode

      - #### host

            String host

        The host name to connect to.

      - #### port

            int port

        The protocol port to connect to.

      - #### protocol

            String protocol

        The protocol to use (ftp, http, nntp, ... etc.) .

      - #### ref

            String ref

        # reference.

  - ### 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

      - #### input

            String input

      - #### index

            int index

  - ### 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

      - #### objBytes

            byte[] objBytes

        Bytes of serialized representation. If `objBytes` is `null` then the object marshalled was a `null` reference.

      - #### locBytes

            byte[] locBytes

        Bytes of location annotations, which are ignored by `equals`. If `locBytes` is null, there were no non-`null` annotations during marshalling.

      - #### hash

            int hash

        Stored hash code of contained object.
        See Also:
          `MarshalledObject.hashCode()`

  - ### 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

      - #### groupID

            ActivationGroupID groupID

        the group's identifier

      - #### className

            String className

        the object's class name

      - #### location

            String location

        the object's code location

      - #### data

            MarshalledObject<T> data

        the object's initialization data

      - #### 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

      - #### monitor

            ActivationMonitor monitor

        the group's monitor

      - #### incarnation

            long incarnation

        the group's incarnation number

  - ### 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.

      - #### location

            String location

        The location from where to load the group's class.

      - #### data

            MarshalledObject<T> data

        The group's initialization data.

      - #### env

            ActivationGroupDesc.CommandEnvironment env

        The controlling options for executing the VM in another process.

      - #### 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

      - #### vmid

            VMID vmid

        Virtual Machine ID with which this Lease is associated.
        See Also:
          `Lease.getVMID()`

      - #### value

            long value

        Duration of this lease.
        See Also:
          `Lease.getValue()`

  - ### 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

      - #### 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

      - #### time

            long time

        a time (as returned by `System.currentTimeMillis()`) at which the VM that this `UID` was generated in was alive

      - #### count

            short count

        16-bit number to distinguish `UID` instances created in the same VM with the same time value

  - ### 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

      - #### port

            int port

        port number on which to export object

      - #### csf

            RMIClientSocketFactory csf

        client-side socket factory (if any)

      - #### 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 {@code 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

      - #### object

            Object object

      - #### guard

            Guard guard

  - ### Class java.security.Identity extends Object implements Serializable

    serialVersionUID:
      3609922007826600659L

    - ### Serialized Fields

      - #### name

            String name

        Deprecated.
        The name for this identity.

      - #### publicKey

            PublicKey publicKey

        Deprecated.
        The public key for this identity.

      - #### info

            String info

        Deprecated.
        Generic, descriptive information about the identity.

      - #### scope

            IdentityScope scope

        Deprecated.
        The scope of the identity.

      - #### certificates

            Vector<E> certificates

        Deprecated.
        The certificates for this 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

      - #### type

            KeyRep.Type type

        Either one of Type.SECRET, Type.PUBLIC, or Type.PRIVATE

      - #### algorithm

            String algorithm

        The Key algorithm

      - #### format

            String format

        The Key encoding format

      - #### encoded

            byte[] encoded

        The encoded Key bytes

  - ### 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

        Throws:
          `IOException`
          `ClassNotFoundException`

    - ### Serialized Fields

      - #### name

            String name

        The provider name.

      - #### info

            String info

        A description of the provider and its services.

      - #### version

            double version

        The provider version number.

  - ### Class java.security.ProviderException extends RuntimeException implements Serializable

    serialVersionUID:
      5256023526693665674L

  - ### Class java.security.SecureRandom extends Random implements Serializable

    serialVersionUID:
      4940670005562187L

    - ### Serialized Fields

      - #### provider

            Provider provider

        The provider.
        Since:
          1.2

      - #### secureRandomSpi

            SecureRandomSpi secureRandomSpi

        The provider implementation.
        Since:
          1.2

      - #### algorithm

            String algorithm

      - #### state

            byte[] state

      - #### digest

            MessageDigest digest

      - #### 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

      - #### counter

            long counter

  - ### 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

      - #### timestamp

            Date timestamp

        The timestamp's date and time

      - #### signerCertPath

            CertPath signerCertPath

        The TSA's certificate path.

  - ### 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

      - #### type

            String type

        The class name of the Permission class that will be created when this unresolved permission is resolved.

      - #### name

            String name

        The permission name.

      - #### actions

            String actions

        The actions of the permission.

  - ### 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

      - #### type

            String type

      - #### hash

            int hash

        Cache the hash code for the certiticate

  - ### 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

      - #### type

            String type

      - #### data

            byte[] data

  - ### 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

      - #### revocationDate

            Date revocationDate

        the date on which the certificate was revoked

      - #### reason

            CRLReason reason

        the revocation reason

      - #### authority

            X500Principal authority

        the `X500Principal` that represents the name of the authority that signed the certificate's revocation status information

  - ### 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

      - #### type

            String type

        The Certificate type

      - #### data

            byte[] data

        The encoded form of the cert path

  - ### 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

      - #### index

            int index

        the index of the certificate in the certification path that caused the exception to be thrown

      - #### certPath

            CertPath certPath

        the `CertPath` that was being validated when the exception was 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

      - #### updateCounts

            int[] updateCounts

        The array that describes the outcome of a batch execution.
        Since:
          1.2

      - #### longUpdateCounts

            long[] longUpdateCounts

        The array that describes the outcome of a batch execution.
        Since:
          1.8

  - ### Class java.sql.DataTruncation extends SQLWarning implements Serializable

    serialVersionUID:
      6464298989504059473L

    - ### Serialized Fields

      - #### index

            int index

      - #### parameter

            boolean parameter

      - #### read

            boolean read

      - #### dataSize

            int dataSize

      - #### 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

      - #### SQLState

            String SQLState

      - #### vendorCode

            int vendorCode

      - #### next

            SQLException next

  - ### 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

      - #### 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]`.

      - #### 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]`.

  - ### 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

      - #### eras

            String[] eras

        Era strings. For example: "AD" and "BC". An array of 2 strings, indexed by `Calendar.BC` and `Calendar.AD`.

      - #### 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.

      - #### 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.

      - #### 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.

      - #### ampms

            String[] ampms

        AM and PM strings. For example: "AM" and "PM". An array of 2 strings, indexed by `Calendar.AM` and `Calendar.PM`.

      - #### 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`

      - #### 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.

      - #### locale

            Locale locale

        The locale which is used for initializing this DateFormatSymbols object.
        Since:
          1.6

  - ### 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

      - #### 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()`

      - #### 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()`

      - #### 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

      - #### 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

      - #### multiplier

            int multiplier

        The multiplier for use in percent, per mille, etc.
        See Also:
          `DecimalFormat.getMultiplier()`

      - #### 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()`

      - #### 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()`

      - #### parseBigDecimal

            boolean parseBigDecimal

        If true, parse returns BigDecimal wherever possible.
        Since:
          1.5
        See Also:
          `DecimalFormat.isParseBigDecimal()`

      - #### 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

      - #### 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

      - #### 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()`

      - #### 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()`

      - #### 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()`

      - #### 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()`

      - #### 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

  - ### 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:
          JDK 1.1.6

    - ### Serialized Fields

      - #### zeroDigit

            char zeroDigit

        Character used for zero.
        See Also:
          `DecimalFormatSymbols.getZeroDigit()`

      - #### groupingSeparator

            char groupingSeparator

        Character used for thousands separator.
        See Also:
          `DecimalFormatSymbols.getGroupingSeparator()`

      - #### decimalSeparator

            char decimalSeparator

        Character used for decimal sign.
        See Also:
          `DecimalFormatSymbols.getDecimalSeparator()`

      - #### perMill

            char perMill

        Character used for per mille sign.
        See Also:
          `DecimalFormatSymbols.getPerMill()`

      - #### percent

            char percent

        Character used for percent sign.
        See Also:
          `DecimalFormatSymbols.getPercent()`

      - #### digit

            char digit

        Character used for a digit in a pattern.
        See Also:
          `DecimalFormatSymbols.getDigit()`

      - #### patternSeparator

            char patternSeparator

        Character used to separate positive and negative subpatterns in a pattern.
        See Also:
          `DecimalFormatSymbols.getPatternSeparator()`

      - #### infinity

            String infinity

        String used to represent infinity.
        See Also:
          `DecimalFormatSymbols.getInfinity()`

      - #### NaN

            String NaN

        String used to represent "not a number".
        See Also:
          `DecimalFormatSymbols.getNaN()`

      - #### minusSign

            char minusSign

        Character used to represent minus sign.
        See Also:
          `DecimalFormatSymbols.getMinusSign()`

      - #### currencySymbol

            String currencySymbol

        String denoting the local currency, e.g. "$".
        See Also:
          `DecimalFormatSymbols.getCurrencySymbol()`

      - #### intlCurrencySymbol

            String intlCurrencySymbol

        ISO 4217 currency code denoting the local currency, e.g. "USD".
        See Also:
          `DecimalFormatSymbols.getInternationalCurrencySymbol()`

      - #### monetarySeparator

            char monetarySeparator

        The decimal separator used when formatting currency values.
        Since:
          JDK 1.1.6
        See Also:
          `DecimalFormatSymbols.getMonetaryDecimalSeparator()`

      - #### 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:
          JDK 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

      - #### locale

            Locale locale

        The locale of these currency format symbols.
        Since:
          1.4

      - #### 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:
          JDK 1.1.6

  - ### 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

      - #### locale

            Locale locale

        The locale to use for formatting numbers and dates.

      - #### 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.

      - #### formats

            Format[] formats

        An array of formatters, which are used to format the arguments.

      - #### offsets

            int[] offsets

        The positions where the results of formatting each argument are to be inserted into the pattern.

      - #### 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.)

      - #### 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.

  - ### 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()`

      - #### 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()`

      - #### 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()`

      - #### 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()`

      - #### 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()`

      - #### parseIntegerOnly

            boolean parseIntegerOnly

        True if this format will parse numbers as integers only.
        See Also:
          `NumberFormat.isParseIntegerOnly()`

      - #### 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()`

      - #### 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()`

      - #### 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()`

      - #### 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()`

      - #### 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

      - #### 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:
          JDK1.1.4

      - #### 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.

      - #### formatData

            DateFormatSymbols formatData

        The symbols used by this formatter for week names, month names, etc. May not be null.
        See Also:
          `DateFormatSymbols`

      - #### 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:
          JDK1.1.4

      - #### 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

- ## 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

      - #### seconds

            long seconds

        The number of seconds in the duration.

      - #### 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.

  - ### 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

      - #### seconds

            long seconds

        The number of seconds from the epoch of 1970-01-01T00:00:00Z.

      - #### 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.

  - ### 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

      - #### year

            int year

        The year.

      - #### month

            short month

        The month-of-year.

      - #### day

            short day

        The day-of-month.

  - ### 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.

      - #### second

            byte second

        The second.

      - #### nano

            int nano

        The nanosecond.

  - ### 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

      - #### month

            int month

        The month-of-year, not null.

      - #### day

            int day

        The day-of-month.

  - ### 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

      - #### time

            LocalTime time

        The local date-time.

      - #### offset

            ZoneOffset offset

        The offset from UTC/Greenwich.

  - ### 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

      - #### years

            int years

        The number of years.

      - #### months

            int months

        The number of months.

      - #### days

            int days

        The number of days.

  - ### 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

      - #### year

            int year

        The year.

      - #### month

            int month

        The month-of-year, not null.

  - ### 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

      - #### parsedString

            String parsedString

        The text that was being parsed.

      - #### errorIndex

            int errorIndex

        The error index in the text.

- ## 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

      - #### minSmallest

            long minSmallest

        The smallest minimum value.

      - #### minLargest

            long minLargest

        The largest minimum value.

      - #### maxSmallest

            long maxSmallest

        The smallest maximum value.

      - #### maxLargest

            long maxLargest

        The largest maximum 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

      - #### transition

            LocalDateTime transition

        The local transition date-time at the transition.

      - #### offsetBefore

            ZoneOffset offsetBefore

        The offset before transition.

      - #### offsetAfter

            ZoneOffset offsetAfter

        The offset after 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

      - #### 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.

      - #### 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.

      - #### time

            LocalTime time

        The cutover time in the 'before' offset.

      - #### timeEndOfDay

            boolean timeEndOfDay

        Whether the cutover time is midnight at the end of day.

      - #### timeDefinition

            ZoneOffsetTransitionRule.TimeDefinition timeDefinition

        The definition of how the local time should be interpreted.

      - #### standardOffset

            ZoneOffset standardOffset

        The standard offset at the cutover.

      - #### offsetBefore

            ZoneOffset offsetBefore

        The offset before the cutover.

      - #### offsetAfter

            ZoneOffset offsetAfter

        The offset after the cutover.

  - ### 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

      - #### standardTransitions

            long[] standardTransitions

        The transitions between standard offsets (epoch seconds), sorted.

      - #### standardOffsets

            ZoneOffset[] standardOffsets

        The standard offsets.

      - #### 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.

      - #### wallOffsets

            ZoneOffset[] wallOffsets

        The wall offsets.

      - #### lastRules

            ZoneOffsetTransitionRule[] lastRules

        The last rule.

  - ### 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:
          `IOException`
          `ClassNotFoundException`

      - #### 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`

  - ### Class java.util.ArrayList extends AbstractList<E> implements Serializable

    serialVersionUID:
      8683452581122892189L

    - ### Serialization Methods

      - #### readObject

            private void readObject(ObjectInputStream s)
                             throws IOException,
                                    ClassNotFoundException

        Reconstitute the `ArrayList` instance from a stream (that is, deserialize it).
        Throws:
          `IOException`
          `ClassNotFoundException`

      - #### writeObject

            private void writeObject(ObjectOutputStream s)
                              throws IOException

        Save the state of the `ArrayList` instance to a stream (that is, serialize 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`

    - ### 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

      - #### 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`.

      - #### 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`.

      - #### 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`

      - #### 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`

      - #### 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`.

      - #### 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()`

      - #### zone

            TimeZone zone

        The `TimeZone` used by this calendar. `Calendar` uses the time zone data to translate between locale and GMT time.

      - #### firstDayOfWeek

            int firstDayOfWeek

        The first day of the week, with possible values `SUNDAY`, `MONDAY`, etc. This is a locale-dependent value.

      - #### 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:
          JDK1.1.6

  - ### 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

      - #### m

            Map<K,V> m

      - #### keyType

            Class<T> keyType

      - #### 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

      - #### n

            int n

      - #### element

            Object element

  - ### 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.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

      - #### elementType

            Class<T> elementType

        The element type of this enum set.

      - #### elements

            Enum<E extends Enum<E>>[] elements

        The elements contained in 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

      - #### f

            String f

      - #### c

            char c

  - ### 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

      - #### threshold

            int threshold

        The next size value at which to resize (capacity * load factor).

      - #### loadFactor

            float loadFactor

        The load factor for the hash table.

  - ### 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

      - #### threshold

            int threshold

        The table is rehashed when its size exceeds this threshold. (The value of this field is (int)(capacity * loadFactor).)

      - #### loadFactor

            float loadFactor

        The load factor for the hashtable.

  - ### 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

      - #### c

            char c

      - #### arg

            Class<T> arg

  - ### 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

      - #### writeObject

            private void writeObject(ObjectOutputStream out)
                              throws IOException

        Serializes this `Locale` to the specified `ObjectOutputStream`.
        Throws:
          `IOException`
        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`

    - ### 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:
          `IOException`
          `ClassNotFoundException`

      - #### 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`

    - ### Serialized Fields

      - #### size

            int size

        The number of elements in the priority queue.

      - #### comparator

            Comparator<T> comparator

        The comparator, or null if priority queue uses elements' natural ordering.

  - ### 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

      - #### 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.

      - #### 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.

      - #### 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

      - #### 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.

      - #### 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.

      - #### 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

      - #### 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.

      - #### 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`.

      - #### 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.

      - #### 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.

      - #### 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

      - #### 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

      - #### 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

      - #### 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

  - ### 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

      - #### m

            TreeMap<K,V> m

        The backing map.

      - #### 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.

      - #### 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.

      - #### fromStart

            boolean fromStart

      - #### toEnd

            boolean toEnd

      - #### loInclusive

            boolean loInclusive

      - #### hiInclusive

            boolean hiInclusive

  - ### Class java.util.TreeMap.SubMap extends AbstractMap<K,V> implements Serializable

    serialVersionUID:
      -6520786458950516097L

    - ### Serialization Methods

      - #### readResolve

            private Object readResolve()

    - ### Serialized Fields

      - #### fromStart

            boolean fromStart

      - #### toEnd

            boolean toEnd

      - #### fromKey

            Object fromKey

      - #### 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

      - #### mostSigBits

            long mostSigBits

      - #### leastSigBits

            long leastSigBits

  - ### Class java.util.Vector extends AbstractList<E> implements Serializable

    serialVersionUID:
      -2767605614048989439L

    - ### Serialization Methods

      - #### writeObject

            private void writeObject(ObjectOutputStream s)
                              throws IOException

        Save the state of the `Vector` instance to a stream (that is, serialize it). This method performs synchronization to ensure the consistency of the serialized data.
        Throws:
          `IOException`

    - ### Serialized Fields

      - #### 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.

      - #### elementCount

            int elementCount

        The number of valid components in this `Vector` object. Components `elementData[0]` through `elementData[elementCount-1]` are the actual items.

      - #### 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.

- ## 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

      - #### items

            Object[] items

        The queued items

      - #### takeIndex

            int takeIndex

        items index for next take, poll, peek or remove

      - #### putIndex

            int putIndex

        items index for next put, offer, or add

      - #### count

            int count

        Number of elements in the queue

      - #### 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.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 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

      - For serialization compatibility.

  - ### 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

      - #### m

            ConcurrentSkipListMap<K,V> m

        Underlying map

      - #### lo

            Object lo

        lower bound key, or null if from start

      - #### hi

            Object hi

        upper bound key, or null if to end

      - #### loInclusive

            boolean loInclusive

        inclusion flag for lo

      - #### hiInclusive

            boolean hiInclusive

        inclusion flag for hi

      - #### isDescending

            boolean isDescending

        direction

  - ### 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

      - #### takeLock

            ReentrantLock takeLock

        Lock held by take, poll, etc

      - #### notEmpty

            Condition notEmpty

        Wait queue for waiting takes

      - #### putLock

            ReentrantLock putLock

        Lock held by put, offer, etc

      - #### notFull

            Condition notFull

        Wait queue for waiting puts

  - ### 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

      - #### waitingProducers

            java.util.concurrent.SynchronousQueue.WaitQueue waitingProducers

      - #### waitingConsumers

            java.util.concurrent.SynchronousQueue.WaitQueue waitingConsumers

  - ### Class java.util.concurrent.ThreadLocalRandom extends Random implements Serializable

    serialVersionUID:
      -5851777807851030925L

    - ### Serialization Methods

      - #### 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

      - #### readResolve

            private Object readResolve()

        Returns the `current` thread's `ThreadLocalRandom`.

    - ### 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,
                                    InvalidObjectException

        Reconstitutes the instance from a stream (that is, deserializes it).
        Throws:
          `IOException`
          `ClassNotFoundException`
          `InvalidObjectException`

    - ### 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

      - #### value

            double value

        The current value returned by get().

      - #### function

            DoubleBinaryOperator function

        The function used for updates.

      - #### identity

            long identity

        The identity value

  - ### 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

      - #### value

            long value

        The current value returned by get().

      - #### function

            LongBinaryOperator function

        The function used for updates.

      - #### identity

            long identity

        The identity value

  - ### 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()

        Return 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

      - #### writerLock

            ReentrantReadWriteLock.WriteLock writerLock

        Inner class providing writelock

      - #### sync

            java.util.concurrent.locks.ReentrantReadWriteLock.Sync sync

        Performs all synchronization mechanics

  - ### 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.

      - #### value

            int value

        The integer value of the level.

      - #### resourceBundleName

            String resourceBundleName

        The resource bundle name to be used in localizing the level name.

  - ### 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:
          Default 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

      - #### sequenceNumber

            long sequenceNumber

        Sequence number

      - #### sourceClassName

            String sourceClassName

        Class that issued logging call

      - #### sourceMethodName

            String sourceMethodName

        Method that issued logging call

      - #### message

            String message

        Non-localized raw message text

      - #### threadID

            int threadID

        Thread ID for thread that issued logging call.

      - #### millis

            long millis

        Event time in milliseconds since 1970

      - #### thrown

            Throwable thrown

        The Throwable (if any) associated with log message

      - #### loggerName

            String loggerName

        Name of the source Logger.

      - #### resourceBundleName

            String resourceBundleName

        Resource bundle name to localized 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

      - #### pattern

            String pattern

        The original regular-expression pattern string.

      - #### flags

            int flags

        The original pattern flags.

  - ### Class java.util.regex.PatternSyntaxException extends IllegalArgumentException implements Serializable

    serialVersionUID:
      -3864639126226059218L

    - ### Serialized Fields

      - #### desc

            String desc

      - #### pattern

            String pattern

      - #### index

            int index

- ## 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

      - #### encryptedContent

            byte[] encryptedContent

        The serialized object contents in encrypted format.

      - #### sealAlg

            String sealAlg

        The algorithm that was used to seal this object.

      - #### paramsAlg

            String paramsAlg

        The algorithm of the parameters used.

      - #### encodedParams

            byte[] encodedParams

        The cryptographic parameters used by the sealing Cipher, encoded in the default format.

        That is, `cipher.getParameters().getEncoded()`.

  - ### 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

      - #### key

            byte[] key

        The secret key.

      - #### algorithm

            String algorithm

        The name of the algorithm associated with this key.

- ## Package javax.imageio

  - ### Class javax.imageio.IIOException extends IOException implements Serializable

- ## Package javax.imageio.metadata

  - ### Class javax.imageio.metadata.IIOInvalidTreeException extends IIOException implements Serializable

    - ### 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.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:
          `IOException`
          `ClassNotFoundException`

  - ### 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:
          `IOException`
          `ClassNotFoundException`

  - ### 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.

      - #### oldValue

            Object oldValue

        The MBean attribute old value.

      - #### newValue

            Object newValue

        The MBean attribute new 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

      - #### op

            int op

        The operator

      - #### exp1

            ValueExp exp1

        The first value

      - #### exp2

            ValueExp exp2

        The second value

  - ### Class javax.management.BinaryRelQueryExp extends QueryEval implements Serializable

    serialVersionUID:
      -5690656271650491000L

    - ### Serialized Fields

      - #### relOp

            int relOp

        The operator

      - #### exp1

            ValueExp exp1

        The first value

      - #### exp2

            ValueExp exp2

        The second value

  - ### 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.

      - #### isWrite

            boolean isWrite

        The attribute write right.

      - #### isRead

            boolean isRead

        The attribute read right.

      - #### is

            boolean is

        Indicates if this method is a "is"

  - ### 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 (a `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

      - #### 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.

      - #### 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.

  - ### 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 (a `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

      - #### description

            String description

        The human readable description of the class.

      - #### className

            String className

        The MBean qualified name.

      - #### attributes

            MBeanAttributeInfo[] attributes

        The MBean attribute descriptors.

      - #### operations

            MBeanOperationInfo[] operations

        The MBean operation descriptors.

      - #### constructors

            MBeanConstructorInfo[] constructors

        The MBean constructor descriptors.

      - #### notifications

            MBeanNotificationInfo[] notifications

        The MBean notification 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

      - #### type

            String type

        The method's return value.

      - #### signature

            MBeanParameterInfo[] signature

        The signature of the method, that is, the class names of the arguments.

      - #### impact

            int impact

        The impact of the method, one of `INFO`, `ACTION`, `ACTION_INFO`, `UNKNOWN`

  - ### 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

      - #### name

            ObjectName name

        Object name.

      - #### className

            String className

        Class 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.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.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 {@link 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 {@link 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 {@link 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 {@link ModelMBeanAttributeInfo} objects which have descriptors

      - #### modelMBeanConstructors

            MBeanConstructorInfo[] modelMBeanConstructors

        The array of {@link ModelMBeanConstructorInfo} objects which have descriptors

      - #### modelMBeanDescriptor

            Descriptor modelMBeanDescriptor

        The descriptor containing MBean wide policy

      - #### modelMBeanNotifications

            MBeanNotificationInfo[] modelMBeanNotifications

        The array of {@link ModelMBeanNotificationInfo} objects which have descriptors

      - #### modelMBeanOperations

            MBeanOperationInfo[] modelMBeanOperations

        The array of {@link 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

      - #### observedObject

            ObjectName observedObject

        Monitor notification observed object.

      - #### observedAttribute

            String observedAttribute

        Monitor notification observed attribute.

      - #### derivedGauge

            Object derivedGauge

        Monitor notification derived gauge.

      - #### 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

      - #### 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.

      - #### compositeType

            CompositeType compositeType

        The composite type of this composite data instance.

  - ### 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

      - #### openType

            OpenType<T> openType

        The open mbean attribute's open type

      - #### 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

      - #### minValue

            Comparable<T> minValue

        The open mbean attribute's min value

      - #### maxValue

            Comparable<T> maxValue

        The open mbean attribute's max value

  - ### 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

      - #### openType

            OpenType<T> openType

        The open mbean parameter's open type

      - #### 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

      - #### minValue

            Comparable<T> minValue

        The open mbean parameter's min value

      - #### maxValue

            Comparable<T> maxValue

        The open mbean parameter's max value

  - ### 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

      - #### rowType

            CompositeType rowType

        The composite type of rows

      - #### indexNames

            List<E> indexNames

        The items used to index each row element, kept in the order the user gave This is an unmodifiable `ArrayList`

- ## 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 {@link ObjectName}s with no interest
        - `null` means that all {@link ObjectName}s are implicitly deselected (check for explicit selections))
        - Empty vector means that no {@link ObjectName} is explicitly deselected

      - #### selectedNames

            List<E> selectedNames

        List of {@link ObjectName}s of interest
        - `null` means that all {@link ObjectName}s are implicitly selected (check for explicit deselections)
        - Empty vector means that no {@link 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 ({@link ArrayList} of {@link ObjectName}s) (only for role update)

      - #### oldRoleValue

            List<E> oldRoleValue

        Old role value ({@link ArrayList} of {@link ObjectName}s) (only for role update)

      - #### relationId

            String relationId

        Relation identifier of created/removed/updated relation

      - #### relationObjName

            ObjectName relationObjName

        {@link 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 {@link ObjectName}s 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

        {@link Map} holding the mapping: <role name ({@link String})> -> <role info ({@link 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

        {@link List} of {@link ObjectName}s 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 ({@link List} of {@link 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

      - #### protocol

            String protocol

        The value returned by `JMXServiceURL.getProtocol()`.

      - #### host

            String host

        The value returned by `JMXServiceURL.getHost()`.

      - #### port

            int port

        The value returned by `JMXServiceURL.getPort()`.

      - #### 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

      - #### notif

            Notification notif

        A notification to transmit to the other side.
        See Also:
          `TargetedNotification.getNotification()`

      - #### id

            Integer id

        The ID of the listener to which the notification is targeted.
        See Also:
          `TargetedNotification.getListenerID()`

- ## Package javax.management.remote.rmi

  - ### Class javax.management.remote.rmi._RMIConnection_Stub extends Stub implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject(ObjectInputStream arg0)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

  - ### Class javax.management.remote.rmi._RMIServer_Stub extends Stub implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject(ObjectInputStream arg0)
                             throws IOException,
                                    ClassNotFoundException

        Throws:
          `IOException`
          `ClassNotFoundException`

  - ### 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.RMIConnector(JMXServiceURL,Map)`, `RMIConnector.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.RMIConnector(JMXServiceURL,Map)`, `RMIConnector.RMIConnector(RMIServer,Map)`

    - ### Serialized Fields

      - #### 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.RMIConnector(RMIServer,Map)`

      - #### 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.RMIConnector(JMXServiceURL,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

      - #### remainingNewName

            Name remainingNewName

        Contains the remaining unresolved part of the second "name" argument to Context.rename(). This information 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)`

      - #### 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<?, ?>)`

      - #### 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<?, ?>)`

  - ### 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

      - #### 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)`

      - #### 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)`

      - #### 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)`

  - ### 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

      - #### 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)`

      - #### 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)`

  - ### Class javax.naming.NameNotFoundException extends NamingException implements Serializable

    serialVersionUID:
      -8007156725367842053L

  - ### Class javax.naming.NamingException extends Exception implements Serializable

    serialVersionUID:
      -1299181962103167177L

    - ### Serialized Fields

      - #### 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)`

      - #### 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)`

      - #### 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

      - #### className

            String className

        Contains the fully-qualified name of the class of the object to which this Reference refers.
        See Also:
          `Class.getName()`

      - #### 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.

  - ### 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

      - #### mod_op

            int mod_op

        Contains an integer identify the modification to be performed.

      - #### attr

            Attribute attr

        Contains the attribute identifying the attribute and/or its value to be applied for the modification.

  - ### 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

      - #### 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.

      - #### derefLink

            boolean derefLink

        Indicates whether JNDI links are dereferenced during search.

      - #### returnObj

            boolean returnObj

        Indicates whether object is returned in `SearchResult`.

      - #### countLimit

            long countLimit

        Contains the maximum number of SearchResults to return.

      - #### 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.

  - ### 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.

      - #### type

            int type

        Contains the type of this event.
        See Also:
          `NamingEvent.OBJECT_ADDED`, `NamingEvent.OBJECT_REMOVED`, `NamingEvent.OBJECT_RENAMED`, `NamingEvent.OBJECT_CHANGED`

      - #### oldBinding

            Binding oldBinding

        Contains information about the object before the change.

      - #### newBinding

            Binding newBinding

        Contains information about the object after the change.

  - ### 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

      - #### id

            String id

        The control's object identifier string.

      - #### criticality

            boolean criticality

        The control's criticality.

      - #### 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

      - #### resultSize

            int resultSize

        An estimate of the number of entries in the search result.

      - #### cookie

            byte[] cookie

        A server-generated cookie.

  - ### 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

      - #### resultCode

            int resultCode

        The sort result code.

      - #### badAttrId

            String badAttrId

        The ID of the attribute that caused the sort to fail.

  - ### 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

      - #### 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.

      - #### 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.

- ## 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`
          `IOException`

      - #### writeObject

            private void writeObject(ObjectOutputStream s)
                              throws IOException

        Write the instance to a stream (ie serialize the object).
        Throws:
          `IOException`

    - ### 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

  - ### Class javax.print.PrintException extends Exception implements Serializable

- ## Package javax.print.attribute

  - ### Class javax.print.attribute.AttributeSetUtilities.SynchronizedAttributeSet extends Object implements Serializable

    - ### Serialized Fields

      - #### attrset

            AttributeSet attrset

  - ### Class javax.print.attribute.AttributeSetUtilities.SynchronizedDocAttributeSet extends javax.print.attribute.AttributeSetUtilities.SynchronizedAttributeSet implements Serializable

  - ### Class javax.print.attribute.AttributeSetUtilities.SynchronizedPrintJobAttributeSet extends javax.print.attribute.AttributeSetUtilities.SynchronizedAttributeSet implements Serializable

  - ### Class javax.print.attribute.AttributeSetUtilities.SynchronizedPrintRequestAttributeSet extends javax.print.attribute.AttributeSetUtilities.SynchronizedAttributeSet implements Serializable

  - ### Class javax.print.attribute.AttributeSetUtilities.SynchronizedPrintServiceAttributeSet extends javax.print.attribute.AttributeSetUtilities.SynchronizedAttributeSet implements Serializable

  - ### Class javax.print.attribute.AttributeSetUtilities.UnmodifiableAttributeSet extends Object implements Serializable

    - ### Serialized Fields

      - #### attrset

            AttributeSet attrset

  - ### Class javax.print.attribute.AttributeSetUtilities.UnmodifiableDocAttributeSet extends javax.print.attribute.AttributeSetUtilities.UnmodifiableAttributeSet implements Serializable

  - ### Class javax.print.attribute.AttributeSetUtilities.UnmodifiablePrintJobAttributeSet extends javax.print.attribute.AttributeSetUtilities.UnmodifiableAttributeSet implements Serializable

  - ### Class javax.print.attribute.AttributeSetUtilities.UnmodifiablePrintRequestAttributeSet extends javax.print.attribute.AttributeSetUtilities.UnmodifiableAttributeSet implements Serializable

  - ### Class javax.print.attribute.AttributeSetUtilities.UnmodifiablePrintServiceAttributeSet extends javax.print.attribute.AttributeSetUtilities.UnmodifiableAttributeSet implements Serializable

  - ### 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

      - #### value

            String value

        String value of this text attribute.

      - #### locale

            Locale locale

        Locale of this text attribute.

  - ### Class javax.print.attribute.UnmodifiableSetException extends RuntimeException implements Serializable

  - ### 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

      - #### x

            int x

      - #### y

            int y

      - #### w

            int w

      - #### h

            int h

      - #### units

            int units

  - ### 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

      - #### repid

            String repid

        The class's RepositoryId.

      - #### codebase

            String codebase

        A space-separated list of codebase URLs.

  - ### 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

      - #### fileName

            String fileName

      - #### lineNumber

            int lineNumber

      - #### columnNumber

            int columnNumber

- ## 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 AbstractSet<E> 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

      - #### prompt

            String prompt

        Since:
          1.4

      - #### 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

      - #### 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

      - #### prompt

            String prompt

        Since:
          1.4

      - #### messageType

            int messageType

        Since:
          1.4

      - #### optionType

            int optionType

        Since:
          1.4

      - #### defaultOption

            int defaultOption

        Since:
          1.4

      - #### options

            String[] options

        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

      - #### prompt

            String prompt

        Since:
          1.4

      - #### defaultName

            String defaultName

        Since:
          1.4

      - #### inputName

            String inputName

        Since:
          1.4

  - ### Class javax.security.auth.callback.PasswordCallback extends Object implements Serializable

    serialVersionUID:
      2267422647454909926L

    - ### Serialized Fields

      - #### prompt

            String prompt

        Since:
          1.4

      - #### echoOn

            boolean echoOn

        Since:
          1.4

      - #### inputPassword

            char[] inputPassword

        Since:
          1.4

  - ### Class javax.security.auth.callback.TextInputCallback extends Object implements Serializable

    serialVersionUID:
      -8064222478852811804L

    - ### Serialized Fields

      - #### prompt

            String prompt

        Since:
          1.4

      - #### defaultText

            String defaultText

        Since:
          1.4

      - #### inputText

            String inputText

        Since:
          1.4

  - ### Class javax.security.auth.callback.TextOutputCallback extends Object implements Serializable

    serialVersionUID:
      1689502495511663102L

    - ### Serialized Fields

      - #### messageType

            int messageType

        Since:
          1.4

      - #### message

            String message

        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.KerberosKey extends Object implements Serializable

    serialVersionUID:
      -4625402278148246993L

    - ### Serialized Fields

      - #### principal

            KerberosPrincipal principal

        The principal that this secret key belongs to.

      - #### versionNum

            int versionNum

        the version number of this secret key

      - #### key

            javax.security.auth.kerberos.KeyImpl key

        `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
             }

  - ### 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.

      - #### 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
             }

      - #### flags

            boolean[] flags

        Ticket Flags as defined in the Kerberos Protocol Specification RFC4120.

      - #### authTime

            Date authTime

        Time of initial authentication

      - #### startTime

            Date startTime

        Time after which the ticket is valid.

      - #### endTime

            Date endTime

        Time after which the ticket will not be honored. (its expiration time).

      - #### 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.

      - #### client

            KerberosPrincipal client

        Client that owns the service ticket

      - #### server

            KerberosPrincipal server

        The service for which the ticket was issued.

      - #### 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.

  - ### 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.

      - #### authorizedID

            String authorizedID

        The id of the authorized entity. If null, the id of the authorized entity is authorizationID.

      - #### authorized

            boolean authorized

        A flag indicating whether the authentication id is allowed to act on behalf of the authorization id.

  - ### 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.sound.midi

  - ### Class javax.sound.midi.InvalidMidiDataException extends Exception implements Serializable

  - ### Class javax.sound.midi.MidiUnavailableException extends Exception implements Serializable

- ## Package javax.sound.sampled

  - ### Class javax.sound.sampled.AudioPermission extends BasicPermission implements Serializable

  - ### Class javax.sound.sampled.LineUnavailableException extends Exception implements Serializable

  - ### Class javax.sound.sampled.UnsupportedAudioFileException extends Exception implements Serializable

- ## 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

      - #### binaryStream

            InputStream binaryStream

        The `InputStream` object that will be returned by the method `getBinaryStream`, which is specified in the `ResultSet` interface.

      - #### unicodeStream

            InputStream unicodeStream

        The `InputStream` object that will be returned by the method `getUnicodeStream`, which is specified in the `ResultSet` interface.

      - #### asciiStream

            InputStream asciiStream

        The `InputStream` object that will be returned by the method `getAsciiStream`, 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.

      - #### 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 conndection. This URL can be found in the documentation supplied by the driver vendor.

      - #### 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.

      - #### 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 .

      - #### 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.

      - #### maxRows

            int maxRows

        The maximum number of rows the reader should read.

      - #### maxFieldSize

            int maxFieldSize

        The maximum field size the reader should read.

      - #### 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`.

      - #### 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.

      - #### 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`.

      - #### 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`.

      - #### 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.

      - #### 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.

      - #### listeners

            Vector<E> listeners

        A `Vector` object that holds the list of listeners that have registered with this `RowSet` object.

      - #### params

            Hashtable<K,V> params

        A `Vector` object that holds the parameters set for this `RowSet` object's current command.

  - ### 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

      - #### 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.

      - #### 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.

      - #### 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

      - #### buf

            byte[] buf

        A serialized array of uninterpreted bytes representing the value of this `SerialBlob` object.

      - #### blob

            Blob blob

        The internal representation of the `Blob` object on which this `SerialBlob` object is based.

      - #### 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

      - #### url

            URL url

        The extracted URL field retrieved from the DATALINK field.

      - #### baseType

            int baseType

        The SQL type of the elements in this `SerialDatalink` object. The type is expressed as one of the contants 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.

  - ### 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

      - #### obj

            Object obj

        Placeholder for object to be serialized.

      - #### 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.

  - ### 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

      - #### 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.

      - #### 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.

- ## 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

  - ### Class javax.transaction.TransactionRequiredException extends RemoteException implements Serializable

  - ### Class javax.transaction.TransactionRolledbackException extends RemoteException implements Serializable

- ## Package javax.transaction.xa

  - ### Class javax.transaction.xa.XAException extends Exception implements Serializable

    - ### 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

      - #### name

            QName name

        xml element tag name

      - #### declaredType

            Class<T> declaredType

        Java datatype binding for xml element declaration's type.

      - #### 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.

      - #### nil

            boolean nil

        true iff the xml element instance has xsi:nil="true".

  - ### 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.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

      - #### namespaceURI

            String namespaceURI

        Namespace URI of this `QName`.

      - #### localPart

            String localPart

        local part 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

      - #### nested

            Throwable nested

      - #### location

            Location location

- ## 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

      - #### locator

            SourceLocator locator

        Field locator specifies where the error occurred

      - #### containedException

            Throwable containedException

        Field containedException specifies a wrapped exception. May be null.

  - ### 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 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

      - #### minor

            int minor

        The minor code for this exception

      - #### minorMessage

            String minorMessage

        The text string for minor code

      - #### majorString

            String majorString

        Alternate text string for major 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.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

      - #### publicId

            String publicId

        The public identifier, or null.
        See Also:
          `SAXParseException.getPublicId()`

      - #### systemId

            String systemId

        The system identifier, or null.
        See Also:
          `SAXParseException.getSystemId()`

      - #### lineNumber

            int lineNumber

        The line number, or -1.
        See Also:
          `SAXParseException.getLineNumber()`

      - #### columnNumber

            int columnNumber

        The column number, or -1.
        See Also:
          `SAXParseException.getColumnNumber()`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2017, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.