Просто передать в одну лямбду (будет манипулировать существующей MetricGroup)
Stream.of(new MetricGroup(1, 100), new MetricGroup(1, 200))
.reduce((a, b) -> {
a.setUploadedDocs(a.getUploadedDocs() + b.getUploadedDocs());
a.setUploadedKbs(a.getUploadedKbs() + b.getUploadedKbs());
return a;
});
// Optional[F.MetricGroup(uploadedDocs=2, uploadedKbs=300)]
Или, чтобы действительно получить новую MetricGroup (не манипулируя существующей)
Stream.of(new MetricGroup(1, 100), new MetricGroup(1, 200))
.reduce((a, b) -> new MetricGroup(a.getUploadedDocs() + b.getUploadedDocs(), a.getUploadedKbs() + b.getUploadedKbs()));