grib/src/main/java/ucar/nc2/grib/collection/Grib2PartitionBuilderFromIndex.java
@Override
  protected boolean readExtensions(GribCollectionProto.GribCollection proto) {
    pc.isPartitionOfPartitions = proto.getIsPartitionOfPartitions();

    List<Integer> list = proto.getRun2PartList();
    pc.run2part = new int[list.size()];
    int count = 0;
    for (int partno : list)
      pc.run2part[count++] = partno;

    List<ucar.nc2.grib.collection.GribCollectionProto.Partition> partList = proto.getPartitionsList();
    for (ucar.nc2.grib.collection.GribCollectionProto.Partition partProto : partList)
      makePartition(partProto);

    return partList.size() > 0;
  }
@Override
  protected boolean readExtensions(GribCollectionProto.GribCollection proto) {
    pc.isPartitionOfPartitions = proto.getIsPartitionOfPartitions();

    List<Integer> list = proto.getRun2PartList();
    pc.run2part = new int[list.size()];
    int count = 0;
    for (int partno : list)
      pc.run2part[count++] = partno;

    List<ucar.nc2.grib.collection.GribCollectionProto.Partition> partList = proto.getPartitionsList();
    for (ucar.nc2.grib.collection.GribCollectionProto.Partition partProto : partList)
      makePartition(partProto);

    return partList.size() > 0;
  }
/*
extend GribCollection {
repeated Partition partitions = 100;
required bool isPartitionOfPartitions = 101;
repeated uint32 run2part = 102;       // masterRuntime index to partition index
}