code: public Writable readWithType(DataInput dataInput) throws IOException {
          Writable w = newWritable(dataInput.readShort());
          w.readFields(dataInput);
          return w;
      }
docs: Read a Writable From the DataInput, where the Writable was previously written using {@link #writeWithType(Writable, DataOutput)}
  
  @param dataInput DataInput to read the Writable from
  @return Writable from the DataInput
  @throws IOException In an error occurs during reading