public static Stella_Object yieldStringConstantTree(String string) {
    { int length = string.length();
      Cons chunks = Stella.NIL;
      int start = 0;
      Stella_Object stringtree = null;

      if (length <= Stella.$MAXIMUM_STRING_CONSTANT_SIZE$) {
        return (StringWrapper.wrapString(string));
      }
      while ((start + Stella.$MAXIMUM_STRING_CONSTANT_SIZE$) < length) {
        chunks = Cons.cons(StringWrapper.wrapString(Native.string_subsequence(string, start, start + Stella.$MAXIMUM_STRING_CONSTANT_SIZE$)), chunks);
        start = start + Stella.$MAXIMUM_STRING_CONSTANT_SIZE$;
      }
      if (start < length) {
        chunks = Cons.cons(StringWrapper.wrapString(Native.string_subsequence(string, start, length)), chunks);
      }
      stringtree = chunks.value;
      { Stella_Object chunk = null;
        Cons iter000 = chunks.rest;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          chunk = iter000.value;
          stringtree = Cons.list$(Cons.cons(Stella.SYM_STELLA_CONCATENATE, Cons.cons(chunk, Cons.cons(Cons.cons(stringtree, Stella.NIL), Stella.NIL))));
        }
      }
      return (stringtree);
    }
  }