code: List<JCTree> classOrInterfaceBody(Name className, boolean isInterface) {
          accept(LBRACE);
          if (token.pos <= endPosTable.errorEndPos) {
              // error recovery
              skip(false, true, false, false);
              if (token.kind == LBRACE)
                  nextToken();
          }
          ListBuffer<JCTree> defs = new ListBuffer<JCTree>();
          while (token.kind != RBRACE && token.kind != EOF) {
              defs.appendList(classOrInterfaceBodyDeclaration(className, isInterface));
              if (token.pos <= endPosTable.errorEndPos) {
                 // error recovery
                 skip(false, true, true, false);
             }
          }
          accept(RBRACE);
          return defs.toList();
      }
docs: ClassBody     = "{" {ClassBodyDeclaration} "}"
  InterfaceBody = "{" {InterfaceBodyDeclaration} "}"