/* If the input is NULL, base on the record highlight info in gHighligthMenuInfo to find the last highlight menu. */
LIST_ENTRY* FindHighLightMenuOption(IN FORM_DISPLAY_ENGINE_STATEMENT *HighLightedStatement)
/* If the input is NULL, base on the record highlight info in gHighligthMenuInfo to find the last highlight menu. */
LIST_ENTRY* FindHighLightMenuOption(IN FORM_DISPLAY_ENGINE_STATEMENT *HighLightedStatement)
{
  LIST_ENTRY      *NewPos;
  UI_MENU_OPTION  *MenuOption;
  NewPos     = gMenuOption.ForwardLink;
  MenuOption = MENU_OPTION_FROM_LINK (NewPos);
  if (HighLightedStatement != NULL) {
    while (MenuOption->ThisTag != HighLightedStatement) {
      NewPos = NewPos->ForwardLink;
      if (NewPos == &gMenuOption) {
        break;
      }
      MenuOption = MENU_OPTION_FROM_LINK (NewPos);
    }
    ASSERT (NewPos != &gMenuOption);
  } else {
    while (!IsHighLightMenuOption (MenuOption)) {
      NewPos = NewPos->ForwardLink;
      if (NewPos == &gMenuOption) {
        break;
      }
      MenuOption = MENU_OPTION_FROM_LINK (NewPos);
    }
    if (NewPos == &gMenuOption) {
      NewPos = NULL;
    }
  }
  return NewPos;
}