code: function(callback, scope, args){
          var mArgs = [null];
          if (!scope) scope = this;
          if (args) {
              if (!_isArr(args)) args = [args];
              mArgs = mArgs.concat(args);
          }
          while (this.hasMoreHierarchies()){
              mArgs[0] = this._hierarchyDefs[this._hierarchyOrder[this._hierarchyIndex]];
              if (callback.apply(scope, mArgs)===false) return false;
              this.nextHierarchy();
          }
          this._hierarchyIndex = 0;
          return true;
      }
docs: <p>Calls a callback function for each hierarchy in this Axis object.</p>
  <p>The callback function is passed an object that represents the current hierarchy. This object has the following structure:</p><ul>
  <li><code>index</code> <code>int</code> The ordinal identifying this hierarchy</li>
  <li><code>name</code> <code>string</code> The name of this hierarchy</li>
  </ul>
  <p>The callback may return <code>false</code> to abort iteration. If the callback does not return <code>false</code>, iteration will resume until all hierarchies are traversed.</p>
  @param {function()} callback A function that will be called for each hierarchy. The hierarchy is passed as an object as the first argument to the callback. For the structure of the hierarchy object, see <a href="#method_hierarchy">hierarchy()</a>.
  @param {object} scope The object that will be used as scope when executing the callback function. If this is undefined or <code>null</code>, the Axis' <code>this</code> pointer will be used.
  @param {object} args Additional data to be passed to the callback function..
  @method eachHierarchy
  @return {boolean} Returns <code>true</code> if all hierarchies were visited and the callback did not return <code>false</code>. Returns <code>false</code> if the callback returned <code>false</code> and further iteration was aborted.