docs: def _get_buf(self, prefix):
          """
          Lazy read-only accessor for the (a|q)buf.
          The qbuf Message object is cached for subsequent requests.
          """
  
          kind = "{prefix}buf".format(prefix=prefix)
          private_name = "_" + kind
          buf = getattr(self, private_name)
  
          if buf:
              return buf
  
          try:
              buf_string = self.raw_data["result"][kind]
          except KeyError:
              buf_string = self.ensure(kind, str)
          if buf_string:
              message = Message(
                  buf_string,
                  self.raw_data,
                  parse_buf=self._parse_buf,
                  on_error=self._on_error,
                  on_malformation=self._on_malformation
              )
              if message.is_error:
                  self._handle_error(message.error_message)
              setattr(self, private_name, message)
          return getattr(self, private_name)