Source:
public EquivalenceUpdater<Item> getUpdater( EquivalenceUpdaterProviderDependencies dependencies, Set<Publisher> targetPublishers ) { return ContentEquivalenceUpdater.<Item>builder() .withExcludedUris(dependencies.getExcludedUris()) .withExcludedIds(dependencies.getExcludedIds()) .withGenerators( ImmutableSet.of( new ContainerCandidatesItemEquivalenceGenerator( dependencies.getContentResolver(), dependencies.getEquivSummaryStore() ), new FilmEquivalenceGenerator( dependencies.getSearchResolver(), targetPublishers, DefaultApplication.createWithReads( ImmutableList.copyOf(targetPublishers) ), true), TitleSearchGenerator.create( dependencies.getSearchResolver(), Item.class, targetPublishers, 2 ) ) ) .withScorers( ImmutableSet.of( new TitleMatchingItemScorer(), new SequenceItemScorer(Score.ONE) ) ) .withCombiner( new RequiredScoreFilteringCombiner<>( new NullScoreAwareAveragingCombiner<>(), TitleMatchingItemScorer.NAME ) ) .withFilter( ConjunctiveFilter.valueOf(ImmutableList.of( new MinimumScoreFilter<>(0.25), new MediaTypeFilter<>(), new SpecializationFilter<>(), new DummyContainerFilter<>(), new UnpublishedContentFilter<>(), ExclusionListFilter.create( dependencies.getExcludedUris(), dependencies.getExcludedIds() ) )) ) .withExtractor( PercentThresholdEquivalenceExtractor.moreThanPercent(90) ) .withHandler( new DelegatingEquivalenceResultHandler<>(ImmutableList.of( EpisodeFilteringEquivalenceResultHandler.strict( LookupWritingEquivalenceHandler.create( dependencies.getLookupWriter() ), dependencies.getEquivSummaryStore() ), new ResultWritingEquivalenceHandler<>( dependencies.getEquivalenceResultStore() ), new EquivalenceSummaryWritingHandler<>( dependencies.getEquivSummaryStore() ) )) ) .withMessenger( QueueingEquivalenceResultMessenger.create( dependencies.getMessageSender(), dependencies.getLookupEntryStore() ) ) .build(); }

Target:
public EquivalenceUpdater<Item> getUpdater( EquivalenceUpdaterProviderDependencies dependencies, Set<Publisher> targetPublishers ) { return ContentEquivalenceUpdater.<Item>builder() .withExcludedUris(dependencies.getExcludedUris()) .withExcludedIds(dependencies.getExcludedIds()) .withGenerators( ImmutableSet.of( new FilmEquivalenceGenerator( dependencies.getSearchResolver(), targetPublishers, DefaultApplication.createWithReads( ImmutableList.copyOf(targetPublishers) ), true), TitleSearchGenerator.create( dependencies.getSearchResolver(), Item.class, targetPublishers, 2 ) ) ) .withScorers( ImmutableSet.of( new TitleMatchingItemScorer(), new ItemYearScorer(Score.ONE) ) ) .withCombiner( new RequiredScoreFilteringCombiner<>( new NullScoreAwareAveragingCombiner<>(), TitleMatchingItemScorer.NAME ) ) .withFilter( ConjunctiveFilter.valueOf(ImmutableList.of( new MinimumScoreFilter<>(3), new MediaTypeFilter<>(), new SpecializationFilter<>(), new DummyContainerFilter<>(), new UnpublishedContentFilter<>(), ExclusionListFilter.create( dependencies.getExcludedUris(), dependencies.getExcludedIds() ) )) ) .withExtractor( AllOverOrEqThresholdExtractor.create(3D) ) .withHandler( new DelegatingEquivalenceResultHandler<>(ImmutableList.of( EpisodeFilteringEquivalenceResultHandler.strict( LookupWritingEquivalenceHandler.create( dependencies.getLookupWriter() ), dependencies.getEquivSummaryStore() ), new ResultWritingEquivalenceHandler<>( dependencies.getEquivalenceResultStore() ), new EquivalenceSummaryWritingHandler<>( dependencies.getEquivSummaryStore() ) )) ) .withMessenger( QueueingEquivalenceResultMessenger.create( dependencies.getMessageSender(), dependencies.getLookupEntryStore() ) ) .build(); }