code: public List<DatastoreDescriptor> getAvailableDatastoreDescriptors() {
          final List<DatastoreDescriptor> availableDatabaseDescriptors = new ArrayList<>();
  
          final List<DatastoreDescriptor> manualDatastoreDescriptors = getManualDatastoreDescriptors();
          availableDatabaseDescriptors.addAll(manualDatastoreDescriptors);
  
          final List<DatastoreDescriptor> driverBasedDatastoreDescriptors = getDriverBasedDatastoreDescriptors();
          availableDatabaseDescriptors.addAll(driverBasedDatastoreDescriptors);
  
          final Set<String> alreadyAddedDatabaseNames = new HashSet<>();
          for (final DatastoreDescriptor datastoreDescriptor : driverBasedDatastoreDescriptors) {
              alreadyAddedDatabaseNames.add(datastoreDescriptor.getName());
          }
  
          final List<DatastoreDescriptor> otherDatastoreDescriptors =
                  getOtherDatastoreDescriptors(alreadyAddedDatabaseNames);
          availableDatabaseDescriptors.addAll(otherDatastoreDescriptors);
  
          return availableDatabaseDescriptors;
      }
docs: Returns the descriptors of datastore types available in DataCleaner.