@Override
  public Object get(int fieldNum) {
    try {
      StructField fref = soi.getAllStructFieldRefs().get(fieldNum);
      return HCatRecordSerDe.serializeField(
        soi.getStructFieldData(wrappedObject, fref),
          fref.getFieldObjectInspector());
    } catch (SerDeException e) {
      throw new IllegalStateException("SerDe Exception deserializing",e);
    }
  }
An implementation of HCatRecord that wraps an Object returned by a SerDe
and an ObjectInspector.  This delays deserialization of unused columns.
hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/LazyHCatRecord.java