class ObjectArrayTypeInfo extends TypeInformation<T> {

	@PublicEvolving
	public static <T, C> ObjectArrayTypeInfo<T, C> getInfoFor(Class<T> arrayClass, TypeInformation<C> componentInfo) {
		Preconditions.checkNotNull(arrayClass);
		Preconditions.checkNotNull(componentInfo);
		Preconditions.checkArgument(arrayClass.isArray(), "Class " + arrayClass + " must be an array.");

		return new ObjectArrayTypeInfo<T, C>(arrayClass, componentInfo);
	}

	private  ObjectArrayTypeInfo(Class<T> arrayType, TypeInformation<C> componentInfo);

}