code: private Object readResolve() throws ObjectStreamException {
          UInteger cached;
  
          // the value read could be invalid so check it
          rangeCheck(value);
          if ((cached = getCached(value)) != null)
              return cached;
  
          return this;
      }
docs: Replace version read through deserialization with cached version.
  
  @return cached instance of this object's value if one exists, otherwise
  this object
  @throws ObjectStreamException