def METHOD_NAME(self, timeout=None):
    """Get the result of the operation, blocking if necessary.
    Args:
        timeout (int):
            How long (in seconds) to wait for the operation to complete.
            If None, wait indefinitely.
    Returns:
        google.protobuf.Message: The Operation's result.
    Raises:
        bookkeeper.common.exceptions.BKGrpcAPICallError: If the operation
            errors or if the timeout is reached before the operation
            completes.
    """
    self._blocking_poll(timeout=timeout)
    if self._exception is not None:
        # pylint: disable=raising-bad-type
        # Pylint doesn't recognize that this is valid in this case.
        raise self._exception
    return self._result