void OnGUI()
    {
        EditorGUILayout.BeginHorizontal(); {
            EditorGUI.BeginChangeCheck();

            transferFrom = EditorGUILayout.ObjectField("Transfer From", transferFrom, typeof(MecanimEventData), false) as MecanimEventData;

            if (EditorGUI.EndChangeCheck())
            {
                toggleTable = new Dictionary <Object, bool>();
            }

            transferTo = EditorGUILayout.ObjectField("Transfer To", transferTo, typeof(MecanimEventData), false) as MecanimEventData;
        }
        EditorGUILayout.EndHorizontal();


        EditorGUILayout.BeginHorizontal(); {
            EditorGUILayout.BeginVertical("Window", GUILayout.MaxWidth(position.width / 2));
            leftWindowScroll = EditorGUILayout.BeginScrollView(leftWindowScroll); {
                DisplayDataSource();
            }
            EditorGUILayout.EndScrollView();
            EditorGUILayout.EndVertical();

            EditorGUILayout.BeginVertical("Window", GUILayout.MaxWidth(position.width / 2));
            rightWindowScroll = EditorGUILayout.BeginScrollView(rightWindowScroll); {
                DisplayDataDest();
            }
            EditorGUILayout.EndScrollView();
            EditorGUILayout.EndVertical();
        }
        EditorGUILayout.EndHorizontal();


        EditorGUILayout.BeginHorizontal(); {
            GUILayout.FlexibleSpace();

            EditorGUI.BeginDisabledGroup(transferFrom == null || transferTo == null ||
                                         transferFrom.GetInstanceID() == transferTo.GetInstanceID());

            if (GUILayout.Button("Transfer", GUILayout.Width(80), GUILayout.Height(30)))
            {
                Transfer();
            }

            EditorGUI.EndDisabledGroup();

            if (GUILayout.Button("Cancel", GUILayout.Width(80), GUILayout.Height(30)))
            {
                Close();
            }
        }
        EditorGUILayout.EndHorizontal();
    }
	void OnGUI() {
		
		EditorGUILayout.BeginHorizontal(); {
		
			EditorGUI.BeginChangeCheck();
			
			transferFrom = EditorGUILayout.ObjectField("Transfer From", transferFrom, typeof(MecanimEventData), false) as MecanimEventData;
			
			if (EditorGUI.EndChangeCheck()) {
				toggleTable = new Dictionary<Object, bool>();
			}
			
			transferTo = EditorGUILayout.ObjectField("Transfer To", transferTo, typeof(MecanimEventData), false) as MecanimEventData;
			
		}
		EditorGUILayout.EndHorizontal();
	
		
		EditorGUILayout.BeginHorizontal(); {
			
			EditorGUILayout.BeginVertical("Window", GUILayout.MaxWidth(position.width/2));
			leftWindowScroll = EditorGUILayout.BeginScrollView(leftWindowScroll); {
			
				DisplayDataSource();
				
			}
			EditorGUILayout.EndScrollView();
			EditorGUILayout.EndVertical();	
			
			EditorGUILayout.BeginVertical("Window", GUILayout.MaxWidth(position.width/2));
			rightWindowScroll = EditorGUILayout.BeginScrollView(rightWindowScroll); {
			
				DisplayDataDest();
				
			}
			EditorGUILayout.EndScrollView();
			EditorGUILayout.EndVertical();	
			
		}
		EditorGUILayout.EndHorizontal();
		
		
		EditorGUILayout.BeginHorizontal(); {
			
			GUILayout.FlexibleSpace();
			
			EditorGUI.BeginDisabledGroup(transferFrom == null || transferTo == null || 
											transferFrom.GetInstanceID() == transferTo.GetInstanceID());
			
			if (GUILayout.Button("Transfer", GUILayout.Width(80), GUILayout.Height(30))) {
				Transfer();
			}
			
			EditorGUI.EndDisabledGroup();
			
			if (GUILayout.Button("Cancel", GUILayout.Width(80), GUILayout.Height(30))) {
				Close();
			}
		}
		EditorGUILayout.EndHorizontal();
	}