PrimaryExpr();
int filterMatch;
  protected void FilterExpr() throws javax.xml.transform.TransformerException  {    int opPos = m_ops.m_opMap[OpMap.MAPINDEX_LENGTH];    // boolean isFunc = lookahead('(', 1);    PrimaryExpr();    if (tokenIs('['))    {      // int locationPathOpPos = opPos;      insertOp(opPos, 2, OpCodes.OP_LOCATIONPATH);      while (tokenIs('['))      {        Predicate();      }      if (tokenIs('/'))      {        nextToken();        RelativeLocationPath();      }      // Terminate for safety.      m_ops.m_opMap[m_ops.m_opMap[OpMap.MAPINDEX_LENGTH]] = OpCodes.ENDOP;      m_ops.m_opMap[OpMap.MAPINDEX_LENGTH] += 1;      m_ops.m_opMap[opPos + OpMap.MAPINDEX_LENGTH] =        m_ops.m_opMap[OpMap.MAPINDEX_LENGTH] - opPos;    }    /*     * if(tokenIs('['))     * {     *   Predicate();     *   m_ops.m_opMap[opPos + OpMap.MAPINDEX_LENGTH] = m_ops.m_opMap[OpMap.MAPINDEX_LENGTH] - opPos;     * }     */  }