function isNavigationUpdateOnly(newRoute, oldRoute) {
      // IF this is not a forced reload
      return !forceReload
          // AND both `newRoute`/`oldRoute` are defined
          && newRoute && oldRoute
          // AND they map to the same Route Definition Object
          && (newRoute.$$route === oldRoute.$$route)
          // AND `reloadOnUrl` is disabled
          && (!newRoute.reloadOnUrl
              // OR `reloadOnSearch` is disabled
              || (!newRoute.reloadOnSearch
                  // AND both routes have the same path params
                  && angular.equals(newRoute.pathParams, oldRoute.pathParams)
              )
          );
    }
@param {Object} newRoute - The new route configuration (as returned by `parseRoute()`).
@param {Object} oldRoute - The previous route configuration (as returned by `parseRoute()`).
@returns {boolean} Whether this is an "update-only" navigation, i.e. the URL maps to the same
                   route and it can be reused (based on the config and the type of change).