@Override
  public Object getInitialAggregatedValue(Object rawValue) {
    CpcUnion cpcUnion = new CpcUnion(_lgK);
    if (rawValue instanceof byte[]) { // Serialized Sketch
      byte[] bytes = (byte[]) rawValue;
      cpcUnion.update(deserializeAggregatedValue(bytes));
    } else if (rawValue instanceof byte[][]) { // Multiple Serialized Sketches
      byte[][] serializedSketches = (byte[][]) rawValue;
      for (byte[] bytes : serializedSketches) {
        cpcUnion.update(deserializeAggregatedValue(bytes));
      }
    } else {
      CpcSketch pristineSketch = empty();
      addObjectToSketch(rawValue, pristineSketch);
      cpcUnion.update(pristineSketch);
    }
    return cpcUnion;
  }
@Test
  public void initialShouldCreateSingleItemSketch() {
    DistinctCountCPCSketchValueAggregator agg = new DistinctCountCPCSketchValueAggregator(Collections.emptyList());
    assertEquals(toSketch(agg.getInitialAggregatedValue("hello world")).getEstimate(), 1.0);
  }