public static Stella_Object makeEvaluatableBquoteTree(Stella_Object tree) {
    if (Stella_Object.safePrimaryType(tree) == Stella.SGT_STELLA_CONS) {
      { Cons tree000 = ((Cons)(tree));

        { GeneralizedSymbol testValue000 = ((GeneralizedSymbol)(tree000.value));

          if (testValue000 == Stella.SYM_STELLA_GET_SYM) {
            return (Cons.list$(Cons.cons(Stella.SYM_STELLA_QUOTE, Cons.cons(Symbol.getSym(((IntegerWrapper)(tree000.rest.value)).wrapperValue), Cons.cons(Stella.NIL, Stella.NIL)))));
          }
          else if (testValue000 == Stella.SYM_STELLA_GET_SGT) {
            return (Surrogate.getSgt(((IntegerWrapper)(tree000.rest.value)).wrapperValue));
          }
          else if (testValue000 == Stella.SYM_STELLA_GET_KWD) {
            return (Keyword.getKwd(((IntegerWrapper)(tree000.rest.value)).wrapperValue));
          }
          else {
            { Cons args = Stella.NIL;

              { Stella_Object arg = null;
                Cons iter000 = tree000.rest;
                Cons collect000 = null;

                for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
                  arg = iter000.value;
                  if (collect000 == null) {
                    {
                      collect000 = Cons.cons(Stella_Object.makeEvaluatableBquoteTree(arg), Stella.NIL);
                      if (args == Stella.NIL) {
                        args = collect000;
                      }
                      else {
                        Cons.addConsToEndOfConsList(args, collect000);
                      }
                    }
                  }
                  else {
                    {
                      collect000.rest = Cons.cons(Stella_Object.makeEvaluatableBquoteTree(arg), Stella.NIL);
                      collect000 = collect000.rest;
                    }
                  }
                }
              }
              { GeneralizedSymbol testValue001 = ((GeneralizedSymbol)(tree000.value));

                if (testValue001 == Stella.SYM_STELLA_LIST$) {
                  if (args.rest == Stella.NIL) {
                    return (args.value);
                  }
                  args = args.reverse();
                  { Cons constree = Cons.list$(Cons.cons(Stella.SYM_STELLA_CONS, Cons.cons(args.rest.value, Cons.cons(Cons.cons(args.value, Stella.NIL), Stella.NIL))));

                    { Stella_Object arg = null;
                      Cons iter001 = args.rest.rest;

                      for (;!(iter001 == Stella.NIL); iter001 = iter001.rest) {
                        arg = iter001.value;
                        constree = Cons.list$(Cons.cons(Stella.SYM_STELLA_CONS, Cons.cons(arg, Cons.cons(Cons.cons(constree, Stella.NIL), Stella.NIL))));
                      }
                    }
                    return (constree);
                  }
                }
                else if (testValue001 == Stella.SYM_STELLA_CONCATENATE) {
                  return (Cons.list$(Cons.cons(Stella.SYM_STELLA_APPEND, Cons.cons(args.value, Cons.cons(Cons.cons(args.rest.value, Stella.NIL), Stella.NIL)))));
                }
                else {
                  return (Cons.cons(tree000.value, args));
                }
              }
            }
          }
        }
      }
    }
    else {
      return (tree);
    }
  }