@Override
  public Iterable<Partition> getPartitionObjs() throws Exception {
    // glorified cast from Iterable<TBase> to Iterable<Partition>
    return Iterables.transform(
        MessageBuilder.getTObjs(partitionListJson,Partition.class),
        new Function<Object, Partition>() {
      @Nullable
      @Override
      public Partition apply(@Nullable Object input) {
        return (Partition) input;
      }
    });
  }
Note that we get an Iterator rather than an Iterable here: so we can only walk thru the list once
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAddPartitionMessage.java