code: public Map<String, Object> getDBServiceParams() {
          Map<String, Object> tenantDBParamMap = m_tenantDef.getOptionMap("DBService");
          if (tenantDBParamMap == null) {
              return null;
          }
          String dbservice = (String)tenantDBParamMap.get("dbservice");
          Utils.require(!Utils.isEmpty(dbservice), "'DBService.dbservice' option must be defined for tenant: %s", m_name);
          Map<String, Object> dbParamMap = ServerParams.getAllModuleParams(dbservice, m_tenantDef.getOptions());
          return dbParamMap;
      }
docs: Get all DBService parameters defined by this tenant, if any. If the tenant
  definition's options do not define "DBService", null is returned. Otherwise, the
  DBService.dbservice option is used to find and merge all options defined by the
  tenant for the corresponding DBService. For example, suppose the tenant definition
  includes these options:
  <pre>
  {"options": {
  "DBService": {
  "dbservice": "com.dell.doradus.service.db.thrift.ThriftService"
  },
  "ThriftService": {
  "dbhost": 12.34.56.78,
  "dbport": 7532
  }
  }}
  <pre>
  This method inspects the class hierarchy of the ThriftService and loads all options
  defined for it and its superclasses into a single map. In the example above, this
  means options defined for both DBService and ThriftService are merged into the map.
  
  @return  String-to-Object map of all DBService parameters defined by this tenant
  definition's options, if any, or null if there are none.