code: function (stateInfo) {
                  if (dynamicDependencies.arrayUtil.contains(stateMemory.discarded, stateInfo.state.id)) {
                      if (stateInfo.position < this._currentPos) {
                          this.back();
                      } else {
                          this.forward();
                      }
                      return false;
                  }
                  this._currentPos = stateInfo.position;
                  this._currentId = stateInfo.state.id;
                  this._setTitle(stateInfo.state.title);
                  return true;
              }
docs: Apply a state by also checking whether it is discarded or not
  @param {Objet} stateInfo
  
  <pre>
  {
  position : {Number} position in the store,
  state : {
  id : {String} id of the state,
  title : {String} title of the page,
  url : {String} only for initial states,
  state : {Object} Saved data for the state
  }
  }
  </pre>
  
  @return {Boolean} true if the state has been applied, false if the state is discarded
  @private