class TupleTypeInfo extends TupleTypeInfoBase<T> {

	@Override
	public boolean equals(Object obj) {
		if (obj instanceof TupleTypeInfo) {
			@SuppressWarnings("unchecked")
			TupleTypeInfo<T> other = (TupleTypeInfo<T>) obj;
			return other.canEqual(this) &&
				super.equals(other) &&
				Arrays.equals(fieldNames, other.fieldNames);
		} else {
			return false;
		}
	}

	@SuppressWarnings("unchecked") @PublicEvolving public  TupleTypeInfo(TypeInformation<?>... types);
	@PublicEvolving public  TupleTypeInfo(Class<T> tupleType, TypeInformation<?>... types);

}