code: static long readEpochSec(DataInput in) throws IOException {
          int hiByte = in.readByte() & 255;
          if (hiByte == 255) {
              return in.readLong();
          } else {
              int midByte = in.readByte() & 255;
              int loByte = in.readByte() & 255;
              long tot = ((hiByte << 16) + (midByte << 8) + loByte);
              return (tot * 900) - 4575744000L;
          }
      }
docs: Reads the state from the stream.
  
  @param in  the input stream, not null
  @return the epoch seconds, not null
  @throws IOException if an error occurs