code: function(o) {
              if (o || this.dirty) {
                  this._config(o);
                  this._setup();
                  this._explode();
                  // this._skin(); // deprecated
                  if (this.allowRollup) {
                      this._rollup();
                  }
                  this._reduce();
                  this._sort();
  
                  // Y.log("after calculate: " + lang.dump(this.required));
  
                  this.dirty = false;
              }
          }
docs: Calculates the dependency tree, the result is stored in the sorted
  property
  @method calculate
  @param o optional options object