apply (database, { applyWhenExists, applyWhenDontExists = () => {} } = {}) {
    if (this._tables.has(database)) {
      applyWhenExists(this._tables.get(database))
    } else if (typeof database === 'string' || database === null) {
      applyWhenDontExists()
    } else {
      this._forEach(applyWhenExists)
    }
    return this
  }
Apply function in the routing table for an specific database. If the database name is not defined, the function will
be applied for each element

@param {string} database The database name
@param {object} callbacks The actions
@param {function (RoutingTable)} callbacks.applyWhenExists Call when the db exists or when the database property is not informed
@param {function ()} callbacks.applyWhenDontExists Call when the database doesn't have the routing table registred
@returns {RoutingTableRegistry} this