private static DestinationIpv6 prefixes(final ByteBuf nlri, final PeerSpecificParserConstraint constraint, final Class<? extends AddressFamily> afi, final Class<? extends SubsequentAddressFamily> safi) { final List<Ipv6Prefixes> prefixes = new ArrayList<>(); final boolean supported = MultiPathSupportUtil.isTableTypeSupported(constraint, new BgpTableTypeImpl(afi, safi)); while (nlri.isReadable()) { final Ipv6PrefixesBuilder prefixesBuilder = new Ipv6PrefixesBuilder(); if (supported) { prefixesBuilder.setPathId(PathIdUtil.readPathId(nlri)); } prefixesBuilder.setPrefix(Ipv6Util.prefixForByteBuf(nlri)); prefixes.add(prefixesBuilder.build()); } return new DestinationIpv6Builder().setIpv6Prefixes(prefixes).build(); }