def METHOD_NAME(f):
    """Decorator for validating read once on STREAM objects"""
    @wraps(f)
    def func(self: "StreamComposite", *args, **kwargs):
        if self._stream_read:
            raise StreamAlreadyUsedException()
        self._stream_read = True
        return f(self, *args, **kwargs)
    return func