protected override float GetElementHeight(GUIContent label, IList <T> list, InspectorDatabaseEditorAttribute attribute, fiGraphMetadata metadata)
        {
            var context = new tkDatabaseContext {
                editedList = (IList)list,
                label      = label
            };

            EnsureInitialState(context, metadata);

            ControlEditor.Context = context;
            var height = fiEditorGUI.tkControlHeight(label, context.editedList, metadata, ControlEditor);

            return(height);
        }
        protected override IList <T> Edit(Rect region, GUIContent label, IList <T> list, InspectorDatabaseEditorAttribute attribute, fiGraphMetadata metadata)
        {
            var context = new tkDatabaseContext {
                editedList = (IList)list,
                label      = label
            };

            EnsureInitialState(context, metadata);

            ControlEditor.Context = context;
            fiEditorGUI.tkControl(region, label, context.editedList, metadata, ControlEditor);

            return((IList <T>)context.editedList);
        }