code: @Override
      public void readExternal(ObjectInput in)
          throws IOException, ClassNotFoundException {
  
          byte header = in.readByte();
  
          switch ((header & 0xFF) >> 4) {
              case FALLBACK_TIMEZONE_TYPE:
                  this.obj = this.readFallback(in, header);
                  break;
              case TRANSITION_RESOLVER_TYPE:
                  this.obj = this.readStrategy(header);
                  break;
              case HISTORIZED_TIMEZONE_TYPE:
                  this.obj = this.readZone(in, header);
                  break;
              case ZONAL_OFFSET_TYPE:
                  this.obj = this.readOffset(in, header);
                  break;
              default:
                  throw new StreamCorruptedException("Unknown serialized type.");
          }
  
      }
docs: /*[deutsch]
  <p>Implementierungsmethode des Interface {@link Externalizable}. </p>
  
  @param   in      input stream
  @throws  IOException in case of I/O-problems
  @throws  ClassNotFoundException if class-loading fails