class DataTypeUtils {

	public static List<DataType> flattenToDataTypes(DataType dataType) {
		final LogicalType type = dataType.getLogicalType();
		if (hasRoot(type, LogicalTypeRoot.DISTINCT_TYPE)) {
			return flattenToDataTypes(dataType.getChildren().get(0));
		} else if (isCompositeType(type)) {
			return dataType.getChildren();
		}
		return Collections.singletonList(dataType);
	}

	private  DataTypeUtils();

}