android/guava/src/com/google/common/reflect/TypeToken.java
@NullableDecl
  public final TypeToken<?> getComponentType() {
    Type componentType = Types.getComponentType(runtimeType);
    if (componentType == null) {
      return null;
    }
    return of(componentType);
  }
@NullableDecl
  public final TypeToken<?> getComponentType() {
    Type componentType = Types.getComponentType(runtimeType);
    if (componentType == null) {
      return null;
    }
    return of(componentType);
  }
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.