MultiImageFileSource extends Source implements PreviousNext { @Override public void initialize() throws IOException { this.images = createImagesArray(this.paths); currentImage = Optional.of(addIndexAndGetImageByOffset(0)); eventBus.post(new SourceHasPendingUpdateEvent(this)); } @AssistedInject  MultiImageFileSource(
      final EventBus eventBus,
      final OutputSocket.Factory outputSocketFactory,
      final ExceptionWitness.Factory exceptionWitnessFactory,
      @Assisted final List<File> files,
      @Assisted final int index); @AssistedInject  MultiImageFileSource(
      final EventBus eventBus,
      final OutputSocket.Factory outputSocketFactory,
      final ExceptionWitness.Factory exceptionWitnessFactory,
      @Assisted final List<File> files); @AssistedInject  MultiImageFileSource(final EventBus eventBus,
                       final OutputSocket.Factory outputSocketFactory,
                       final ExceptionWitness.Factory exceptionWitnessFactory,
                       @Assisted final Properties properties); private  MultiImageFileSource(
      final EventBus eventBus,
      final OutputSocket.Factory outputSocketFactory,
      final ExceptionWitness.Factory exceptionWitnessFactory,
      final String[] paths,
      final int index); @Override void initialize(); @Override String getName(); @Override Properties getProperties(); @Override void next(); @Override void previous();  }
@Test(expected = IOException.class) public void createMultiImageFileSourceWithTextFile() throws IOException { new MultiImageFileSource( new EventBus(), osf, origin -> null, Arrays.asList(imageFile.file, gompeiJpegFile.file, textFile)).initialize(); }