anchor.diff:  
     UINT8               _GET_CURRQEST_DATATYPE ();
     UINT32              _GET_CURRQEST_VARSIZE ();
  +  UINT32              _GET_CURRQEST_ARRAY_SIZE();
   
   public:
     VOID                _PCATCH (IN INTN, IN INTN, IN ANTLRTokenPtr, IN CHAR8 *);
  
positive.code:   >>
    L:OrderedList                                        << OLObj.SetLineNo(L->getLine()); >>
    vfrQuestionHeader[OLObj] ","
                                                         << OLObj.SetMaxContainers ((UINT8)_GET_CURRQEST_VARSIZE()); >>
    {
      MaxContainers "=" M:Number ","                     << OLObj.SetMaxContainers (_STOU8(M->getText())); >>
    }
  
negative.code:   )
  {
    return mCurrQestVarInfo;
  }
  
  UINT32
  EfiVfrParser::_GET_CURRQEST_ARRAY_SIZE (
    VOID
    )
  {
    UINT8 Size = 1;
  
    switch (mCurrQestVarInfo.mVarType) {
    case EFI_IFR_TYPE_NUM_SIZE_8:
      Size = 1;
      break;
  
    case EFI_IFR_TYPE_NUM_SIZE_16:
      Size = 2;
      break;
  
    case EFI_IFR_TYPE_NUM_SIZE_32:
      Size = 4;
      break;
  
    case EFI_IFR_TYPE_NUM_SIZE_64:
      Size = 8;
      break;
  
    default:
      break;
    }
  
    return (mCurrQestVarInfo.mVarTotalSize / Size);
  }
  
  UINT8
  