public virtual int lastIndexOf(ATerm el, int start) { int result; if (start < 0) { start += length + 1; } if (start > length) { throw new ArgumentException("start (" + start + ") > length of list (" + length + ")"); } if (start > 0) { result = next.lastIndexOf(el, start - 1); if (result >= 0) { return(result + 1); } } if (first == el) { return(0); } else { return(-1); } }