code: public HeaderField getEntry(int index) {
      if (index <= 0 || index > length()) {
        throw new IndexOutOfBoundsException();
      }
      int i = head - index;
      if (i < 0) {
        return headerFields[i + headerFields.length];
      } else {
        return headerFields[i];
      }
    }
docs: Return the header field at the given index.
  The first and newest entry is always at index 1,
  and the oldest entry is at the index length().