code: @SuppressWarnings("rawtypes")
      public void combine(Key key, Iterable<Value> values, TaskInputOutputContext context)
              throws IOException ,InterruptedException {
          combine = true;
          writer.setContext(context);
          init();
  
          if (inputLabels != null) {
              setupLabel(key);
          } else {
              Key k = new Key();
              for (ValueWritable vw : key.getGrouping()) {
                  k.getGrouping().add(new ValueWritable(vw.getLabel().toString(), vw.getValue()));
              }
              defaultGroupRecord.setKey(k);
          }
  
          currentRecord.setKey(key);
          recordIte = values.iterator();
          summarize(writer);
      }
docs: Combiner for In-Mapper Combiner
  @param key {@link Key}
  @param values {@link Value} iterator
  @param context {@link TaskInputOutputContext} context
  @throws IOException
  @throws InterruptedException