code: public KeyedStream<T, Tuple> keyBy(String... fields) {
  		return keyBy(new Keys.ExpressionKeys<>(fields, getType()));
  	}
docs: Partitions the operator state of a {@link DataStream} using field expressions.
  A field expression is either the name of a public field or a getter method with parentheses
  of the {@link DataStream}'s underlying type. A dot can be used to drill
  down into objects, as in {@code "field1.getInnerField2()" }.
  
  @param fields
  One or more field expressions on which the state of the {@link DataStream} operators will be
  partitioned.
  @return The {@link DataStream} with partitioned state (i.e. KeyedStream)