@Override public Value aggregate() { for (TermWeightPosition offset : offsets) { builder.addTermOffset(offset.getOffset()); if (0 <= offset.getPrevSkips()) { builder.addPrevSkips(offset.getPrevSkips()); } if (0 <= offset.getScore()) { builder.addScore(offset.getScore()); } // If the zeroOffset has been set and the termweight is still default(true) if (builder.getZeroOffsetMatch()) { builder.setZeroOffsetMatch(offset.getZeroOffsetMatch()); } } return new Value(builder.build().toByteArray()); }