+ // NOTE Do NOT try to make this a container of Layout pointers, e.g.,
+ // std::list<Layout *>. This will lead to problems. The reason is
+ // that DocumentClass objects are generally created by copying a
+ // LayoutFile, which serves as a base for the DocumentClass. If the
+ // LayoutList is a container of pointers, then every DocumentClass
+ // that derives from a given LayoutFile (e.g., article) will SHARE
+ // a basic set of layouts. So if one Buffer were to modify a layout
+ // (say, Standard), that would modify that layout for EVERY Buffer
+ // that was based upon the same DocumentClass.
+ //
+ // NOTE: Layout pointers are directly assigned to paragraphs so a
+ // container that does not invalidate these pointers after insertion
+ // is needed.