code: def merge_rest_api_config(configs):
      
      bind = None
      connect = None
      timeout = None
      opentsdb_url = None
      opentsdb_db = None
      opentsdb_username = None
      opentsdb_password = None
      client_max_size = None
  
      for config in reversed(configs):
          if config.bind is not None:
              bind = config.bind
          if config.connect is not None:
              connect = config.connect
          if config.timeout is not None:
              timeout = config.timeout
          if config.opentsdb_url is not None:
              opentsdb_url = config.opentsdb_url
          if config.opentsdb_db is not None:
              opentsdb_db = config.opentsdb_db
          if config.opentsdb_username is not None:
              opentsdb_username = config.opentsdb_username
          if config.opentsdb_password is not None:
              opentsdb_password = config.opentsdb_password
          if config.client_max_size is not None:
              client_max_size = config.client_max_size
  
      return RestApiConfig(
          bind=bind,
          connect=connect,
          timeout=timeout,
          opentsdb_url=opentsdb_url,
          opentsdb_db=opentsdb_db,
          opentsdb_username=opentsdb_username,
          opentsdb_password=opentsdb_password,
          client_max_size=client_max_size)
docs: Given a list of PathConfig objects, merges them into a single PathConfig,
      giving priority in the order of the configs (first has highest priority).