@Override
  public Object deserialize(Writable data) throws SerDeException {
    if (!(data instanceof HCatRecord)) {
      throw new SerDeException(getClass().getName() + ": expects HCatRecord!");
    }

    return data;
  }
The purpose of a deserialize method is to turn a data blob
which is a writable representation of the data into an
object that can then be parsed using the appropriate
ObjectInspector. In this case, since HCatRecord is directly
already the Writable object, there's no extra work to be done
here. Most of the logic resides in the ObjectInspector to be
able to return values from within the HCatRecord to hive when
it wants it.
hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/HCatRecordSerDe.java