/// <summary>
        ///     Writes method name, accessor and opening brace to output writer
        /// </summary>
        /// <param name="isStatic">Is method static or not</param>
        /// <param name="accessModifier">Access modifier for method</param>
        /// <param name="name">Method name</param>
        /// <param name="sw">Output writer</param>
        /// <param name="isInterfaceDecl">
        ///     Is this method interface declaration or not (access modifiers prohibited on interface
        ///     declaration methods)
        /// </param>
        protected void WriteFunctionName(bool isStatic, AccessModifier accessModifier, string name, WriterWrapper sw,
                                         bool isInterfaceDecl = false)
        {
            if (!isInterfaceDecl)
            {
                sw.Write("{0} ", accessModifier.ToModifierText());
                if (isStatic)
                {
                    sw.Write("static ");
                }
            }

            sw.Write("{0}(", name);
        }