public static Stella_Object stringSearchForObject(String string, Surrogate classtype) {
    { Stella_Object renamed_Object = null;

      { Surrogate type = null;
        CodeWrapper fn = null;
        KvCons iter000 = Stella.$STRING_TO_OBJECT_FUNCTIONS$.theKvList;

        for (;iter000 != null; iter000 = iter000.rest) {
          type = ((Surrogate)(iter000.key));
          fn = ((CodeWrapper)(iter000.value));
          if ((classtype == null) ||
              Surrogate.subtypeOfP(type, classtype)) {
            if (Surrogate.subtypeOfP(Stella_Object.safePrimaryType(fn), Stella.SGT_STELLA_FUNCTION_CODE_WRAPPER)) {
              { FunctionCodeWrapper fn000 = ((FunctionCodeWrapper)(fn));

                renamed_Object = ((Stella_Object)(edu.isi.stella.javalib.Native.funcall(fn000.wrapperValue, null, new java.lang.Object [] {string})));
              }
            }
            else {
              { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

                stream000.nativeStream.print("`" + Stella_Object.safePrimaryType(fn) + "' is not a valid case option");
                throw ((StellaException)(StellaException.newStellaException(stream000.theStringReader()).fillInStackTrace()));
              }
            }
            if (renamed_Object != null) {
              return (renamed_Object);
            }
          }
        }
      }
      return (null);
    }
  }