code: function (unresolved) {
          if (typeof unresolved === OBJECT) { // @todo discontinue in v4
              unresolved = unresolved.unresolved;
          }
  
          // for unresolved case, this is super simple as that is how raw data is stored
          if (unresolved) {
              return PATH_SEPARATOR + this.path.join(PATH_SEPARATOR);
          }
  
          var self = this,
              segments;
  
          segments = _.transform(this.path, function (res, segment) {
              var variable;
  
              // check if the segment has path variable prefix followed by the variable name.
              if (_.startsWith(segment, PATH_VARIABLE_IDENTIFIER) && segment !== PATH_VARIABLE_IDENTIFIER) {
                  variable = self.variables.one(segment.slice(1)); // remove path variable prefix.
              }
  
              variable = variable && variable.valueOf && variable.valueOf();
              res.push(_.isString(variable) ? variable : segment);
          }, []);
  
          return PATH_SEPARATOR + segments.join(PATH_SEPARATOR); // add leading slash
      }
docs: Returns the request path, with a leading '/'.
  
  @param {?Boolean=} [unresolved=false]
  @returns {string}
  
  @note deprecated variant in v3.4:
  - param {Object} options
  - param {Object} options.unresolved If set to true, path variables will not be processed