protected virtual void OnAddClicked()
        {
            var parameterType = new GenericMenu();

            foreach (var paramType in GetExposedParameterTypes())
            {
                parameterType.AddItem(new GUIContent(UniExposedParametersTool.GetNiceNameFromType(paramType.Name)), false, () =>
                {
                    try
                    {
                        var parameter = Activator.CreateInstance(paramType) as IUniExposedParameter;
                        if (parameter == null)
                        {
                            return;
                        }

                        graphAsset.uniExposedParameters.Add(parameter);
                        graphAsset.MarkDirty();

                        UpdateParameterList();
                    }
                    catch (Exception e)
                    {
                        Debug.LogException(e);
                    }
                });
            }

            parameterType.ShowAsContext();
        }