public static void DrawGenericField(MemberField field)
        {
            EditorGUILayout.BeginHorizontal();

            if (field.IsReadOnly())
            {
                System.Object v = field.GetValue();
                if (v != null)
                {
                    EditorGUILayout.LabelField(field.GetName(), field.GetValue().ToString());
                }
                else
                {
                    EditorGUILayout.LabelField(field.GetName(), "(null)");
                }

                EditorGUILayout.EndHorizontal();
                return;
            }
            field.SetValue(DrawFieldElement(field.Type, field.GetName(), field.GetValue(), field.GetFieldType(), field.ValueRange, field.Style));

            EditorGUILayout.EndHorizontal();
        }