code: @Override
      public UnitFactory getUnitFactory() throws DataSourceReadException {
          initializeIfNeeded();
          UnitFactory result = null;
          DataSourceBackend b = null;
          for (DataSourceBackend backend : getBackends()) {
              result = backend.getUnitFactory();
              b = backend;
              break;
          }
          assert result != null : "no unit factory returned from "
                  + b.getClass() + "!";
          return result;
      }
docs: Returns the length units of returned data from this data source.
  
  @return a {@link UnitFactory}, or <code>null</code> if the data source
  could not be initialized or the schema adaptor returned a null
  UnitFactory.
  @throws DataSourceReadException if the data source could not be
  initialized.