private Variables TransverseVariables(FieldDeclarationSyntax fds, bool isRef = false)
        {
            Variables retVar = new Variables();

            if (fds.HasLeadingTrivia)
            {
                SetOuterComments(retVar, fds.GetLeadingTrivia().ToFullString());
            }

            if (fds.HasTrailingTrivia)
            {
                SetInnerComments(retVar, fds.GetTrailingTrivia().ToFullString());
            }

            retVar.IsReferenced = isRef;
            //Not sure if right
            retVar.Type.IsKnownType = SyntaxFacts.IsKeywordKind(fds.CSharpKind());
            retVar.Type.IsNotUserDefined = SyntaxFacts.IsKeywordKind(fds.CSharpKind());
            //This should pick up the "type" name
            retVar.Type.Name = fds.Declaration.Type.ToString();

            foreach (SyntaxToken st in fds.Modifiers)
            {
                string modifier = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(st.ValueText);
                Encapsulation encap;
                Qualifiers qual;
                if (System.Enum.TryParse<Encapsulation>(modifier, out encap))
                {
                    retVar.Accessibility.Add(encap);
                }
                else if (System.Enum.TryParse<Qualifiers>(modifier, out qual))
                {
                    retVar.Qualifiers.Add(qual);
                }
            }
            //This does return variable name but I don't know if fds can contain a list of
            //variables or if it will always be 1
            retVar.Name = fds.Declaration.Variables.ToString();
            return retVar;
        }