public static Context string_getStellaContextSlowly(String self) {
    { Context context = null;

      { Context cxt = null;
        Cons iter000 = Stella.$ROOT_MODULE$.childContexts.theConsList;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          cxt = ((Context)(iter000.value));
          if (Stella.stringEqlP(cxt.contextName(), self)) {
            return (cxt);
          }
        }
      }
      { Context cxt = null;
        Iterator iter001 = Stella.allContexts();

        while (iter001.nextP()) {
          cxt = ((Context)(iter001.value));
          if (Stella.stringEqlP(cxt.contextName(), self) ||
              (Stella_Object.isaP(cxt, Stella.SGT_STELLA_MODULE) &&
               ((((Module)(cxt)).nicknames != null) &&
                ((Module)(cxt)).nicknames.memberP(StringWrapper.wrapString(self))))) {
            if (context != null) {
              { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

                stream000.nativeStream.print("More than one context has the name or nickname `" + self + "': `" + context + "' and `" + cxt + "'");
                throw ((NoSuchContextException)(NoSuchContextException.newNoSuchContextException(stream000.theStringReader()).fillInStackTrace()));
              }
            }
            context = cxt;
          }
        }
      }
      if (context != null) {
        return (context);
      }
      else {
        { OutputStringStream stream001 = OutputStringStream.newOutputStringStream();

          stream001.nativeStream.print("No context with name or nickname `" + self + "'");
          throw ((NoSuchContextException)(NoSuchContextException.newNoSuchContextException(stream001.theStringReader()).fillInStackTrace()));
        }
      }
    }
  }