protected virtual void CloseTheObject()
{
Debug.Assert(!m_fIsPropOpen); // should close any props we open before closing obj.
// Note any trailing non-prop info at the end of the current object.
CheckForNonPropInfo();
StackItem top = m_stack[m_stack.Count - 1];
m_stack.RemoveAt(m_stack.Count - 1);
m_hvoCurr = top.m_hvoOuter;
m_tagCurrent = top.m_tag;
m_ws = 0;
// objects are always added as part of some property, so if we close one,
// we must be back inside the property we were in when we added it.
m_fIsPropOpen = true;
}