/// <summary>
        /// Adds a placeholder for an unknown type of entry to the <see cref="GenericMenu"/>.
        /// </summary>
        /// <param name="genericMenu">Input menu data structure.</param>
        /// <param name="entry">Menu entry that is currently being added.</param>
        protected virtual void AddUnknownEntryToMenu(GenericMenu genericMenu, IEditorMenuEntry entry)
        {
            string label = UNKNOWN_ENTRY_TYPE_LABEL;

            if (entry.Path != "")
            {
                label = entry.Path + "/" + label;
            }

            genericMenu.AddDisabledItem(new GUIContent(label));
        }
        /// <summary>
        /// Adds an entry to the <see cref="GenericMenu"/>.
        /// </summary>
        /// <param name="genericMenu">Output menu.</param>
        /// <param name="entry">Menu entry.</param>
        protected virtual void AddEntryToMenu(GenericMenu genericMenu, IEditorMenuEntry entry)
        {
            var commandEntry = entry as EditorMenuCommandEntry;

            if (commandEntry != null)
            {
                this.AddCommandEntryToMenu(genericMenu, commandEntry);
                return;
            }

            this.AddUnknownEntryToMenu(genericMenu, entry);
        }