code: public <K> DataStream<T> partitionCustom(Partitioner<K> partitioner, KeySelector<T, K> keySelector) {
  		return setConnectionType(new CustomPartitionerWrapper<>(clean(partitioner),
  				clean(keySelector)));
  	}
docs: Partitions a DataStream on the key returned by the selector, using a custom partitioner.
  This method takes the key selector to get the key to partition on, and a partitioner that
  accepts the key type.
  
  <p>Note: This method works only on single field keys, i.e. the selector cannot return tuples
  of fields.
  
  @param partitioner
  The partitioner to assign partitions to keys.
  @param keySelector
  The KeySelector with which the DataStream is partitioned.
  @return The partitioned DataStream.
  @see KeySelector