private void Visit(ParametersBlock paramsBlock)
 {
     HasMixin = true;
 }
        protected virtual void Visit(ParametersBlock paramsBlock)
        {
            Write("[DataContract]");
            WriteLinkLine(paramsBlock);
            Write("public partial class");
            Write(" ");
            Write(paramsBlock.Name);
            WriteSpace();
            Write(": ShaderMixinParameters");
            {
                OpenBrace();

                foreach (DeclarationStatement parameter in paramsBlock.Body.Statements.OfType<DeclarationStatement>())
                {
                    var variable = parameter.Content as Variable;
                    if (variable == null)
                        continue;

                    WriteLinkLine(parameter);
                    VisitDynamic(variable);
                }

                CloseBrace(false).Write(";").WriteLine();
            }
        }