public IGH_Param CreateParameter(GH_ParameterSide side, int index)
        {
            var param = new Param_ExtraObjectProperty();

            param.Name          = "PropertyToChange";
            param.nickNameCache = string.Empty;
            param.NickName      = string.Empty;
            param.Description   = description;
            return(param);
        }
        /// <summary>
        /// Registers all the input parameters for this component.
        /// </summary>
        protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
        {
            pManager.AddGenericParameter("Object", "O", "Object to make changes to", GH_ParamAccess.item);

            var objParam = new Param_GenericObject();

            objParam.NickName       = "O";
            objParam.Name           = "Object";
            objParam.Description    = "Object to modify";
            objParam.Access         = GH_ParamAccess.item;
            objParam.ObjectChanged += ObjectWireChangedHandler;

            var param = new Param_ExtraObjectProperty();

            param.Name          = "PropertyName";
            param.nickNameCache = defaultNickName + "1";
            param.NickName      = param.nickNameCache;
            param.Description   = description;
            pManager.AddParameter(param);
        }