public static Symbol localGensym(String prefix) {
    if (((KeyValueList)(Stella.$LOCALGENSYMTABLE$.get())) == null) {
      return (Stella.gensym(prefix));
    }
    { IntegerWrapper prefixcounter = ((IntegerWrapper)(((KeyValueList)(Stella.$LOCALGENSYMTABLE$.get())).lookup(StringWrapper.wrapString(prefix))));

      if (prefixcounter == null) {
        prefixcounter = IntegerWrapper.wrapInteger(0);
      }
      else {
        prefixcounter = IntegerWrapper.wrapInteger(prefixcounter.wrapperValue + 1);
      }
      ((KeyValueList)(Stella.$LOCALGENSYMTABLE$.get())).insertAt(StringWrapper.wrapString(prefix), prefixcounter);
      return (Stella.internTransientSymbol(Stella.yieldGensymName(prefix, prefixcounter.wrapperValue)));
    }
  }