public void processElement()

in beam-collector/src/main/java/com/google/collector/aggregation/Aggregate.java [48:66]


    public void processElement(ProcessContext ctx) {
      KV<Long, Iterable<SecurityReport>> element = ctx.element();
      if (element == null) {
        return;
      }

      Iterable<SecurityReport> reports = element.getValue();
      if (reports == null || !reports.iterator().hasNext()) {
        return;
      }

      SecurityReport.Builder aggregate = reports.iterator().next().toBuilder();

      AtomicLong count = new AtomicLong();
      reports.iterator().forEachRemaining(r -> count.addAndGet(r.getReportCount()));

      aggregate.setReportCount(count.get());
      ctx.output(aggregate.build());
    }