code: public int lastIndexOf(Object o) {
          int index = size;
          if (o == null) {
              for (Node<E> x = last; x != null; x = x.prev) {
                  index--;
                  if (x.item == null)
                      return index;
              }
          } else {
              for (Node<E> x = last; x != null; x = x.prev) {
                  index--;
                  if (o.equals(x.item))
                      return index;
              }
          }
          return -1;
      }
docs: Returns the index of the last occurrence of the specified element
  in this list, or -1 if this list does not contain the element.
  More formally, returns the highest index {@code i} such that
  <tt>(o==null&nbsp;?&nbsp;get(i)==null&nbsp;:&nbsp;o.equals(get(i)))</tt>,
  or -1 if there is no such index.
  
  @param o element to search for
  @return the index of the last occurrence of the specified element in
  this list, or -1 if this list does not contain the element