public static void Push(string groupName)
 {
     if (s_GroupNameStack == null)
     {
         s_GroupNameStack = new Stack <string>();
     }
     if (s_GroupNameStack.Count >= 16)
     {
         Assert.IsTrue(false); // check the leak.
     }
     s_GroupNameStack.Push(groupName);
     LocalizationDatabase.SetContextGroupName(groupName);
 }
 public static void Pop()
 {
     if (s_GroupNameStack == null || s_GroupNameStack.Count <= 0)
     {
         Assert.IsTrue(false);
     }
     s_GroupNameStack.Pop();
     if (s_GroupNameStack.Count > 0)
     {
         string top = s_GroupNameStack.Peek();
         LocalizationDatabase.SetContextGroupName(top);
     }
     else
     {
         LocalizationDatabase.SetContextGroupName(null);
     }
 }