public static IndexWriter create( Iterable<IndexProvider> providers ) {
final List<IndexWriter> writers = new ArrayList<>();
for (IndexProvider provider : providers) {
if (provider != null) {
IndexWriter writer = provider.getIndexWriter();
if (writer != null && !writer.canBeSkipped()) writers.add(writer);
}
}
if (writers.isEmpty()) return NoOpQueryIndexWriter.INSTANCE;
if (writers.size() == 1) return writers.get(0);
return new CompositeIndexWriter(writers);