code: public static final SerIterable grid(final Class<?> valueType, final List<Class<?>> valueTypeTypes) {
          return new SerIterable() {
              private final List<Grid.Cell<?>> cells = new ArrayList<>();
              private int[] dimensions;
              @Override
              public SerIterator iterator() {
                  return grid(build(), Object.class, valueType, valueTypeTypes);
              }
              @Override
              public void dimensions(int[] dimensions) {
                  this.dimensions = dimensions;
              }
              @Override
              public void add(Object key, Object column, Object value, int count) {
                  if (value != null) {
                      cells.add(ImmutableCell.of((Integer) key, (Integer) column, value));
                  }
              }
              @Override
              @SuppressWarnings({ "unchecked", "rawtypes" })
              public Grid<?> build() {
                  if (dimensions == null || dimensions.length != 2) {
                      throw new IllegalArgumentException("Expected 2 dimensions, rowCount and columnCount");
                  }
                  return ImmutableGrid.copyOf(dimensions[0], dimensions[1], (Iterable) cells);
              }
              @Override
              public SerCategory category() {
                  return SerCategory.GRID;
              }
              @Override
              public Class<?> keyType() {
                  return Integer.class;
              }
              @Override
              public Class<?> columnType() {
                  return Integer.class;
              }
              @Override
              public Class<?> valueType() {
                  return valueType;
              }
              @Override
              public List<Class<?>> valueTypeTypes() {
                  return valueTypeTypes;
              }
          };
      }
docs: Gets an iterable wrapper for {@code Grid}.
  
  @param valueType  the value type, not null
  @param valueTypeTypes  the generic parameters of the value type
  @return the iterable, not null