code: public static WithinGroup<Double> cumeDist(Expression<?>... args) {
          return new WithinGroup<Double>(Double.class, SQLOps.CUMEDIST2, args);
      }
docs: As an aggregate function, CUME_DIST calculates, for a hypothetical row r identified by the
  arguments of the function and a corresponding sort specification, the relative position of row
  r among the rows in the aggregation group. Oracle makes this calculation as if the hypothetical
  row r were inserted into the group of rows to be aggregated over. The arguments of the function
  identify a single hypothetical row within each aggregate group. Therefore, they must all
  evaluate to constant expressions within each aggregate group. The constant argument expressions
  and the expressions in the ORDER BY clause of the aggregate match by position. Therefore,
  the number of arguments must be the same and their types must be compatible.
  
  @param args arguments
  @return cume_dist(args)