code: public static TypeInformation<Row> ROW_NAMED(String[] fieldNames, TypeInformation<?>... types) {
  		return new RowTypeInfo(types, fieldNames);
  	}
docs: Returns type information for {@link org.apache.flink.types.Row} with fields of the given types and
  with given names. A row must not be null.
  
  <p>A row is a fixed-length, null-aware composite type for storing multiple values in a
  deterministic field order. Every field can be null independent of the field's type.
  The type of row fields cannot be automatically inferred; therefore, it is required to provide
  type information whenever a row is used.
  
  <p>The schema of rows can have up to <code>Integer.MAX_VALUE</code> fields, however, all row instances
  must strictly adhere to the schema defined by the type info.
  
  <p>Example use: {@code ROW_NAMED(new String[]{"name", "number"}, Types.STRING, Types.INT)}.
  
  @param fieldNames array of field names
  @param types array of field types