code: private void readObject(ObjectInputStream stream)
           throws IOException, ClassNotFoundException
      {
          stream.defaultReadObject();
          ///CLOVER:OFF
          // we don't have serialization data for this format
          if (serialVersionOnStream < 1) {
              // Didn't have additional int fields, reassign to use them.
              maximumIntegerDigits = maxIntegerDigits;
              minimumIntegerDigits = minIntegerDigits;
              maximumFractionDigits = maxFractionDigits;
              minimumFractionDigits = minFractionDigits;
          }
          if (serialVersionOnStream < 2) {
              // Didn't have capitalizationSetting, set it to default
              capitalizationSetting = DisplayContext.CAPITALIZATION_NONE;
          }
          ///CLOVER:ON
          /*Bug 4185761
            Validate the min and max fields [Richard/GCL]
          */
          if (minimumIntegerDigits > maximumIntegerDigits ||
              minimumFractionDigits > maximumFractionDigits ||
              minimumIntegerDigits < 0 || minimumFractionDigits < 0) {
              throw new InvalidObjectException("Digit count range invalid");
          }
          serialVersionOnStream = currentSerialVersion;
      }
docs: First, read in the default serializable data.
  
  Then, if <code>serialVersionOnStream</code> is less than 1, indicating that
  the stream was written by JDK 1.1,
  set the <code>int</code> fields such as <code>maximumIntegerDigits</code>
  to be equal to the <code>byte</code> fields such as <code>maxIntegerDigits</code>,
  since the <code>int</code> 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.