public override void GenerateMethodSpecifier(Method method, Class @class)
        {
            var keywords = new List <string>();

            if (method.IsGeneratedOverride() || method.IsOverride)
            {
                Write("@Override");
                NewLine();
            }

            keywords.Add(AccessIdentifier(method.Access));

            if (@method.IsFinal)
            {
                keywords.Add("final");
            }

            if (method.IsStatic)
            {
                keywords.Add("static");
            }

            if (method.IsPure && [email protected])
            {
                keywords.Add("abstract");
            }

            keywords = keywords.Where(s => !string.IsNullOrWhiteSpace(s)).ToList();
            if (keywords.Count != 0)
            {
                Write("{0} ", string.Join(" ", keywords));
            }

            if (method.IsConstructor || method.IsDestructor)
            {
                Write("{0}(", @class.Name);
            }
            else
            {
                Write("{0} {1}(", method.ReturnType, GetMethodIdentifier(method));
            }

            var @params = method.Parameters.Where(m => !m.IsImplicit);

            Write("{0}", TypePrinter.VisitParameters(@params, hasNames: true));

            Write(")");
        }