* @param end
   * @return int
   */
  public int lastPosition(Stella_Object renamed_Object, int end) {
    { Cons self = this;

      { int lastPos = Stella.NULL_INTEGER;

        if (end == Stella.NULL_INTEGER) {
          end = self.length() - 1;
        }
        { Stella_Object element = null;
          Cons iter000 = self;
          int position = Stella.NULL_INTEGER;
          int iter001 = 0;
          int upperBound000 = end;
          boolean unboundedP000 = upperBound000 == Stella.NULL_INTEGER;

          for (;(!(iter000 == Stella.NIL)) &&
                    (unboundedP000 ||
                     (iter001 <= upperBound000)); iter000 = iter000.rest, iter001 = iter001 + 1) {
            element = iter000.value;
            position = iter001;
            if (Stella_Object.eqlP(element, renamed_Object)) {
              lastPos = position;
            }
          }
        }
        return (lastPos);
      }
    }
  }