private void registerCapabilityParsers(final List<AutoCloseable> regs, final BGPExtensionProviderContext context) { final AddressFamilyRegistry afiReg = context.getAddressFamilyRegistry(); final SubsequentAddressFamilyRegistry safiReg = context.getSubsequentAddressFamilyRegistry(); final MultiProtocolCapabilityHandler multi = new MultiProtocolCapabilityHandler(afiReg, safiReg); regs.add(context.registerCapabilityParser(MultiProtocolCapabilityHandler.CODE, multi)); regs.add(context.registerCapabilitySerializer(MultiprotocolCapability.class, multi)); final AddPathCapabilityHandler addPath = new AddPathCapabilityHandler(afiReg, safiReg); regs.add(context.registerCapabilityParser(AddPathCapabilityHandler.CODE, addPath)); regs.add(context.registerCapabilitySerializer(AddPathCapability.class, addPath)); final RouteRefreshCapabilityHandler routeRefresh = new RouteRefreshCapabilityHandler(); regs.add(context.registerCapabilityParser(RouteRefreshCapabilityHandler.CODE, routeRefresh)); regs.add(context.registerCapabilitySerializer(RouteRefreshCapability.class, routeRefresh)); final As4CapabilityHandler as4 = new As4CapabilityHandler(); regs.add(context.registerCapabilityParser(As4CapabilityHandler.CODE, as4)); regs.add(context.registerCapabilitySerializer(As4BytesCapability.class, as4)); final GracefulCapabilityHandler grace = new GracefulCapabilityHandler(afiReg, safiReg); regs.add(context.registerCapabilitySerializer(GracefulRestartCapability.class, grace)); regs.add(context.registerCapabilityParser(GracefulCapabilityHandler.CODE, grace)); final CapabilityParameterParser cpp = new CapabilityParameterParser(context.getCapabilityRegistry()); regs.add(context.registerParameterParser(CapabilityParameterParser.TYPE, cpp)); regs.add(context.registerParameterSerializer(BgpParameters.class, cpp)); final BgpExtendedMessageCapabilityHandler bgpextmessage = new BgpExtendedMessageCapabilityHandler(); regs.add(context.registerCapabilityParser(BgpExtendedMessageCapabilityHandler.CODE, bgpextmessage)); regs.add(context.registerCapabilitySerializer(BgpExtendedMessageCapability.class, bgpextmessage)); }