Source:
<code>public void write( @Nonnull ResolvedChannel entity, @Nonnull FieldWriter format, @Nonnull OutputContext ctxt ) throws IOException { Channel channel = entity.getChannel(); format.writeField("title", channel.getTitle()); <START> if (contextHasAnnotation(ctxt, Annotation.AGGREGATED_BROADCASTS)) { <END> format.writeList( includedVariantWriter, entity.getIncludedVariants().orElse(ImmutableList.of()), ctxt ); format.writeList( excludedVariantWriter, entity.getExcludedVariants().orElse(ImmutableList.of()), ctxt ); } format.writeField("id", idCodec.encode(channel.getId().toBigInteger())); format.writeField("uri", channel.getCanonicalUri()); format.writeList(IMAGE_WRITER, channel.getImages(), ctxt); format.writeList(AVAILABLE_FROM_WRITER, channel.getAvailableFrom(), ctxt); format.writeObject(AVAILABLE_FROM_WRITER, channel.getSource(), ctxt); format.writeField("media_type", channel.getMediaType()); format.writeObject(BROADCASTER_WRITER, channel.getBroadcaster(), ctxt); format.writeList(ALIAS_WRITER, channel.getAliases(), ctxt); format.writeList("genres", "genres", channel.getGenres(), ctxt); format.writeField("high_definition", channel.getHighDefinition()); format.writeField("regional", channel.getRegional()); format.writeList(RELATED_LINKS_WRITER, channel.getRelatedLinks(), ctxt); format.writeField("start_date", channel.getStartDate()); format.writeField("advertised_from", channel.getAdvertiseFrom()); if (contextHasAnnotation(ctxt, Annotation.CHANNEL_GROUPS_SUMMARY) || contextHasAnnotation(ctxt, Annotation.GENERIC_CHANNEL_GROUPS_SUMMARY)) { Optional<List<ChannelGroupSummary>> channelGroupSummaries = entity.getChannelGroupSummaries(); if(channelGroupSummaries.isPresent()) { format.writeList(channelGroupSummaryWriter, channelGroupSummaries.get(), ctxt); } else { throw new MissingResolvedDataException("channel writer group summaries"); } } }</code><technical_language>I this introduce a bug. If BROADCASTS AGGREGATED_BROADCASTS annotation enabled this print variants of channels for both. if variants in entity if print them, skip field</technical_language>

Target:
public void write( @Nonnull ResolvedChannel entity, @Nonnull FieldWriter format, @Nonnull OutputContext ctxt ) throws IOException { Channel channel = entity.getChannel(); format.writeField("title", channel.getTitle()); if (entity.getIncludedVariants().isPresent() || entity.getExcludedVariants().isPresent()) { format.writeList( includedVariantWriter, entity.getIncludedVariants().orElse(ImmutableList.of()), ctxt ); format.writeList( excludedVariantWriter, entity.getExcludedVariants().orElse(ImmutableList.of()), ctxt ); } format.writeField("id", idCodec.encode(channel.getId().toBigInteger())); format.writeField("uri", channel.getCanonicalUri()); format.writeList(IMAGE_WRITER, channel.getImages(), ctxt); format.writeList(AVAILABLE_FROM_WRITER, channel.getAvailableFrom(), ctxt); format.writeObject(AVAILABLE_FROM_WRITER, channel.getSource(), ctxt); format.writeField("media_type", channel.getMediaType()); format.writeObject(BROADCASTER_WRITER, channel.getBroadcaster(), ctxt); format.writeList(ALIAS_WRITER, channel.getAliases(), ctxt); format.writeList("genres", "genres", channel.getGenres(), ctxt); format.writeField("high_definition", channel.getHighDefinition()); format.writeField("regional", channel.getRegional()); format.writeList(RELATED_LINKS_WRITER, channel.getRelatedLinks(), ctxt); format.writeField("start_date", channel.getStartDate()); format.writeField("advertised_from", channel.getAdvertiseFrom()); if (contextHasAnnotation(ctxt, Annotation.CHANNEL_GROUPS_SUMMARY) || contextHasAnnotation(ctxt, Annotation.GENERIC_CHANNEL_GROUPS_SUMMARY)) { Optional<List<ChannelGroupSummary>> channelGroupSummaries = entity.getChannelGroupSummaries(); if(channelGroupSummaries.isPresent()) { format.writeList(channelGroupSummaryWriter, channelGroupSummaries.get(), ctxt); } else { throw new MissingResolvedDataException("channel writer group summaries"); } } }