docs: public void beginMethod(String returnType, String name, int modifiers, String... parameters)
        throws IOException {
      indent();
      modifiers(modifiers);
      if (returnType != null) {
        type(returnType);
        out.write(" ");
        out.write(name);
      } else {
        type(name);
      }
      out.write("(");
      for (int p = 0; p < parameters.length; ) {
        if (p != 0) {
          out.write(", ");
        }
        type(parameters[p++]);
        out.write(" ");
        type(parameters[p++]);
      }
      out.write(")");
      if ((modifiers & Modifier.ABSTRACT) != 0) {
        out.write(";\n");
        pushScope(Scope.ABSTRACT_METHOD);
      } else {
        out.write(" {\n");
        pushScope(Scope.NON_ABSTRACT_METHOD);
      }
    }