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 ) ; } }
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 .