public void Log(object target, string eventName, object[] parameters, string[] parameterNames)
        {
            if (TextAdded != null)
            {
                StringBuilder builder = new StringBuilder();
                for (int i = 0; i < parameterNames.Length; i++)
                {
                    if (i != 0)
                    {
                        builder.Append(", ");
                    }

                    if (parameterNames[i] == "sender" && parameters[i] == target)
                    {
                        builder.Append("sender");
                    }
                    else
                    {
                        builder.Append(parameterNames[i] + " = " + EventHandlerTypeVisitors.Instance.Convert(parameters[i]));
                    }
                }

                TextAdded(HawkeyeUtils.GetControlName2OrToString(target) + eventName + "( " + builder.ToString() + ")\r\n");
            }
        }