def _setResult(self, result):
        """
        Sets the result. If the result is already set, raises
        C{AlreadyCalledError}.

        @raise AlreadyCalledError: The result was already set.
        @return: C{None}, if the result was successfully set.
        """
        if self._result is not _NO_RESULT:
            raise AlreadyCalledError()

        self._result = result