code: private Object readResolve() throws ObjectStreamException {
          if (this.preRelease != null || this.buildMetaData != null) {
              return createInternal(this.major, this.minor, this.patch,
                      this.preRelease,
                      this.buildMetaData);
          }
          return this;
      }
docs: Handles proper deserialization of objects serialized with a version prior to 1.1.0
  
  @return the deserialized object.
  @throws ObjectStreamException If deserialization fails.
  @since 1.1.0