code: public void add(final AbsAxis mAx) {
          AbsAxis axis = mAx;
  
          if (isDupOrd(axis)) {
              axis = new DupFilterAxis(mRtx, axis);
              DupState.nodup = true;
          }
  
          switch (mNumber) {
          case 0:
              mFirstAxis = axis;
              mNumber++;
              break;
          case 1:
              mExpr = new NestedAxis(mFirstAxis, axis, mRtx);
              mNumber++;
              break;
          default:
              final AbsAxis cache = mExpr;
              mExpr = new NestedAxis(cache, axis, mRtx);
          }
  
      }
docs: Adds a new Axis to the expression chain. The first axis that is added has
  to be stored till a second axis is added. When the second axis is added,
  it is nested with the first one and builds the execution chain.
  
  @param mAx
  ach The axis to add.