code: @NullableDecl
    public final TypeToken<?> getComponentType() {
      Type componentType = Types.getComponentType(runtimeType);
      if (componentType == null) {
        return null;
      }
      return of(componentType);
    }
docs: Returns the array component type if this type represents an array ({@code int[]}, {@code T[]},
  {@code <? extends Map<String, Integer>[]>} etc.), or else {@code null} is returned.