public void removeEntry(Stella_Object key, Stella_Object value) {
    { KeyValueList self = this;

      { KvCons cursor = self.theKvList;
        KvCons previouscursor = null;

        if (cursor != null) {
          if (Stella_Object.eqlP(cursor.key, key) &&
              Stella_Object.eqlP(cursor.value, value)) {
            self.theKvList = cursor.rest;
            KvCons.freeKvCons(cursor);
            return;
          }
          while (cursor.rest != null) {
            previouscursor = cursor;
            cursor = cursor.rest;
            if (Stella_Object.eqlP(cursor.key, key) &&
                Stella_Object.eqlP(cursor.value, value)) {
              previouscursor.rest = cursor.rest;
              KvCons.freeKvCons(cursor);
              return;
            }
          }
        }
      }
    }
  }