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);
  }
@ 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.
Returns the array component type if this type represents an array ( {