code: public int lastIndexOf(Object o) {
      if (o == null) {
        for (int i = size - 1; i >= 0; i--)
          if (data[i] == null)
            return i;
      } else {
        for (int i = size - 1; i >= 0; i--)
          if (o.equals(data[i]))
            return i;
      }
      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 <tt>i</tt> 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.