public Object decode(PositionedByteRange src, int index) {
    assert index >= 0;
    StructIterator it = iterator(src.shallowCopy());
    for (; index > 0; index--) {
      it.skip();
    }
    return it.next();
  }
Read the field at {@code index}. {@code src}'s position is not affected.
hbase-common/src/main/java/org/apache/hadoop/hbase/types/Struct.java