### Question:
FusionIndexPopulator extends FusionIndexBase<IndexPopulator> implements IndexPopulator { @Override public void close( boolean populationCompletedSuccessfully ) { instanceSelector.close( populator -> populator.close( populationCompletedSuccessfully ) ); } FusionIndexPopulator( SlotSelector slotSelector, InstanceSelector<IndexPopulator> instanceSelector, long indexId, IndexDropAction dropAction,
            boolean archiveFailedIndex ); @Override void create(); @Override void drop(); @Override void add( Collection<? extends IndexEntryUpdate<?>> updates ); @Override void verifyDeferredConstraints( NodePropertyAccessor nodePropertyAccessor ); @Override IndexUpdater newPopulatingUpdater( NodePropertyAccessor accessor ); @Override void close( boolean populationCompletedSuccessfully ); @Override void markAsFailed( String failure ); @Override void includeSample( IndexEntryUpdate<?> update ); @Override IndexSample sampleResult(); @Override Map<String,Value> indexConfig();  }### Answer:
@Test public void closeMustThrowIfCloseAnyThrow() throws Exception { for ( IndexSlot aliveSlot : fusionVersion.aliveSlots() ) { UncheckedIOException failure = new UncheckedIOException( new IOException( "fail" ) ); doThrow( failure ).when( populators.get( aliveSlot ) ).close( anyBoolean() ); verifyCallFail( failure, () -> { fusionIndexPopulator.close( anyBoolean() ); return null; } ); initiateMocks(); } }