public StructProperty ToStruct()
        {
            PropertyCollection props = new PropertyCollection();

            props.Add(new NameProperty(ParameterName, "ParameterName"));

            if (Property.StructType == "SMAScalarParameter")
            {
                props.Add(new FloatProperty(ParameterValue, "Parameter"));
                props.Add(Group);
                return(new StructProperty("SMAScalarParameter", props));
            }
            else
            {
                props.Add(new FloatProperty(ParameterValue, "ParameterValue"));
                props.Add(RStructs.ToFourPartIntStruct("Guid", true, 0, 0, 0, 0,
                                                       "A", "B", "C", "D", "ExpressionGUID"));
                return(new StructProperty("ScalarParameterValue", props));
            }
        }
        public StructProperty ToStruct()
        {
            PropertyCollection props = new PropertyCollection();

            props.Add(new NameProperty(ParameterName, "ParameterName"));

            if (Property.StructType == "SMAVectorParameter")
            {
                props.Add(RStructs.ToFourPartFloatStruct("LinearColor", true, ParameterValue.W, ParameterValue.X, ParameterValue.Y, ParameterValue.Z,
                                                         "R", "G", "B", "A", "Parameter"));
                props.Add(Group);
                return(new StructProperty("SMAVectorParameter", props));
            }
            else
            {
                props.Add(RStructs.ToFourPartFloatStruct("LinearColor", true, ParameterValue.W, ParameterValue.X, ParameterValue.Y, ParameterValue.Z,
                                                         "R", "G", "B", "A", "ParameterValue"));
                props.Add(RStructs.ToFourPartIntStruct("Guid", true, 0, 0, 0, 0,
                                                       "A", "B", "C", "D", "ExpressionGUID"));
                return(new StructProperty("VectorParameterValue", props));
            }
        }