code: private ServiceElement readService(String documentation) {
      String name = readName();
      ServiceElement.Builder builder = ServiceElement.builder()
          .name(name)
          .qualifiedName(prefix + name)
          .documentation(documentation);
  
      if (readChar() != '{') throw unexpected("expected '{'");
      while (true) {
        String rpcDocumentation = readDocumentation();
        if (peekChar() == '}') {
          pos++;
          break;
        }
        Object declared = readDeclaration(rpcDocumentation, Context.SERVICE);
        if (declared instanceof RpcElement) {
          builder.addRpc((RpcElement) declared);
        } else if (declared instanceof OptionElement) {
          builder.addOption((OptionElement) declared);
        }
      }
      return builder.build();
    }
docs: Reads a service declaration and returns it.