code: @Override
    public List<byte[]> lrange(final byte[] key, final long start, final long stop) {
      checkIsInMultiOrPipeline();
      client.lrange(key, start, stop);
      return client.getBinaryMultiBulkReply();
    }
docs: Return the specified elements of the list stored at the specified key. Start and end are
  zero-based indexes. 0 is the first element of the list (the list head), 1 the next element and
  so on.
  <p>
  For example LRANGE foobar 0 2 will return the first three elements of the list.
  <p>
  start and end can also be negative numbers indicating offsets from the end of the list. For
  example -1 is the last element of the list, -2 the penultimate element and so on.
  <p>
  <b>Consistency with range functions in various programming languages</b>
  <p>
  Note that if you have a list of numbers from 0 to 100, LRANGE 0 10 will return 11 elements,
  that is, rightmost item is included. This may or may not be consistent with behavior of
  range-related functions in your programming language of choice (think Ruby's Range.new,
  Array#slice or Python's range() function).
  <p>
  LRANGE behavior is consistent with one of Tcl.
  <p>
  <b>Out-of-range indexes</b>
  <p>
  Indexes out of range will not produce an error: if start is over the end of the list, or start
  &gt; end, an empty list is returned. If end is over the end of the list Redis will threat it
  just like the last element of the list.
  <p>
  Time complexity: O(start+n) (with n being the length of the range and start being the start
  offset)
  @param key
  @param start
  @param stop
  @return Multi bulk reply, specifically a list of elements in the specified range.