* @return Cons
   */
  public Cons nthRest(int position) {
    { Cons self = this;

      if (position < 0) {
        return (null);
      }
      { Cons cursor = self;

        { int i = Stella.NULL_INTEGER;
          int iter000 = 1;
          int upperBound000 = position;
          boolean unboundedP000 = upperBound000 == Stella.NULL_INTEGER;

          for (;unboundedP000 ||
                    (iter000 <= upperBound000); iter000 = iter000 + 1) {
            i = iter000;
            i = i;
            cursor = cursor.rest;
            if (cursor == Stella.NIL) {
              return (Stella.NIL);
            }
          }
        }
        return (cursor);
      }
    }
  }