code: public FaunusPipeline groupCount() {
          this.state.assertNotLocked();
          final Pair<String, Class<? extends WritableComparable>> pair = this.state.popProperty();
          if (null == pair) {
              return this.groupCount(null, null);
          } else {
              this.compiler.addMapReduce(ValueGroupCountMapReduce.Map.class,
                      ValueGroupCountMapReduce.Combiner.class,
                      ValueGroupCountMapReduce.Reduce.class,
                      pair.getB(),
                      LongWritable.class,
                      pair.getB(),
                      LongWritable.class,
                      ValueGroupCountMapReduce.createConfiguration(this.state.getElementType(), pair.getA(), pair.getB()));
              makeMapReduceString(ValueGroupCountMapReduce.class, pair.getA());
          }
          return this;
      }
docs: Count the number of times the previous element (or property) has been traversed to.
  The results are stored in the jobs sideeffect file in HDFS.
  
  @return the extended FaunusPipeline.