code: public static Type getArrayComponentType(Type array) {
      return array instanceof GenericArrayType
          ? ((GenericArrayType) array).getGenericComponentType()
          : ((Class<?>) array).getComponentType();
    }
docs: Returns the component type of the given array type, assuming {@link #isArray(Type)}.
  
  <p>Return type will either be class, parameterized type, generic array type, or type variable,
  but not a wildcard type.
  
  @throws ClassCastException if {@link #isArray(Type)} is false