def item_data(item_name)
      index = @items.index item_name
      raise ArgumentError, 'Unknown item' unless index

      @mutex.synchronize { @data[index].data && @data[index].data.dup }
    end
def item_data(item_name)
      index = @items.index item_name
      raise ArgumentError, 'Unknown item' unless index

      @mutex.synchronize { @data[index].data && @data[index].data.dup }
    end
Returns a copy of the current data of one of this subscription's items. If {#mode} is `:merge` then the returned
 object will be a hash of the item's state, if it is `:command` then an array of row data for the item will be
 returned, and if it is `:distinct` or `:raw` then just the most recent update received for the item will be
 returned. The return value will be `nil` if no data for the item has been set or been received.

 @param [String] item_name The name of the item to return the current data for.

 @return [Hash, Array, nil] A copy of the item data.