public Iterator<DataStoreFactorySpi> getAvailableDataSources() { Set<DataStoreFactorySpi> availableDS = new HashSet<>(); Iterator<DataStoreFactorySpi> it = getServiceRegistry().getServiceProviders(DataStoreFactorySpi.class, null, null); ElasticDataStoreFactory dsFactory; while (it.hasNext()) { Object ds = it.next(); if (ds instanceof ElasticDataStoreFactory) { dsFactory = (ElasticDataStoreFactory) ds; if (dsFactory.isAvailable()) { availableDS.add(dsFactory); } } } return availableDS.iterator(); }