code: public static Integer readInteger(final ObjectInput in) throws IOException {
          byte b = in.readByte();
          if (b == 0) return null;
          return in.readInt();
      }
docs: Reads an {@link Integer} from the input.
  <p>
  This method and its equivalent
  {@link #writeInteger(ObjectOutput, Integer) write-variant} store
  {@code i} in a more efficient way than serializing the {@link Integer}
  class.
  </p>
  
  @param in Non-null {@link ObjectInput}
  @return {@link Integer}
  @throws IOException Thrown if an I/O error occurred