* {@link IndexDefinition#isEnabled() enabled}; may be null if not known and all index definitions will be
* {@link IndexDefinition#isEnabled() enabled}
* @return the index definitions as read from the system storage
*/
public List<IndexDefinition> readAllIndexDefinitions( Set<String> providerNames ) {
CachedNode indexes = indexesNode();
List<IndexDefinition> defns = new ArrayList<>();
for (ChildReference ref : indexes.getChildReferences(system)) {
CachedNode provider = system.getNode(ref);
Name providerName = provider.getName(system);
for (ChildReference indexRef : provider.getChildReferences(system)) {
CachedNode indexDefn = system.getNode(indexRef);
IndexDefinition defn = readIndexDefinition(indexDefn, providerName);
if (providerNames.contains(defn.getProviderName())) {
defns.add(defn);
} else {
// There is no provider by this name, so mark it as not enabled ...