code: public List<String> getProviderNames() {
  
          @SuppressWarnings("unchecked") List<String> result = get(KEY_QUERY_PROVIDERS, List.class);
          if (result == null) {
              return Collections.emptyList();
          }
          return result;
      }
docs: Returns the providers and their ordering to be considered. This information typically must be interpreted by the
  singleton SPI implementations, which are backing the singleton accessors.
  If the list returned is empty, the default provider list,
  determined by methods like {@code getDefaultProviderNames()} should be used.
  
  @return the ordered providers, never null.