public static void cppOutputTernaryOperator(Cons expression) {
    { Stella_Object arg1 = expression.value;
      StringWrapper op1 = ((StringWrapper)(expression.rest.value));
      Stella_Object arg2 = expression.rest.rest.value;
      StringWrapper op2 = ((StringWrapper)(expression.fourth()));
      Stella_Object arg3 = expression.fifth();
      String translatedarg = null;

      ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print("(");
      Stella_Object.cppMaybeOutputStatementWithParentheses(arg1);
      ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print(" ");
      ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print(op1.wrapperValue);
      ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print(" ");
      { String result000 = null;

        { Object old$CurrentStream$000 = Stella.$CURRENT_STREAM$.get();

          try {
            Native.setSpecial(Stella.$CURRENT_STREAM$, OutputStringStream.newOutputStringStream());
            Stella_Object.cppMaybeOutputStatementWithParentheses(arg2);
            result000 = ((OutputStringStream)(((OutputStream)(Stella.$CURRENT_STREAM$.get())))).theStringReader();

          } finally {
            Stella.$CURRENT_STREAM$.set(old$CurrentStream$000);
          }
        }
        translatedarg = result000;
      }
      if (translatedarg.charAt(0) == '"') {
        ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print("(char*)");
      }
      ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print(translatedarg);
      ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print(" ");
      ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print(op2.wrapperValue);
      ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print(" ");
      { String result001 = null;

        { Object old$CurrentStream$001 = Stella.$CURRENT_STREAM$.get();

          try {
            Native.setSpecial(Stella.$CURRENT_STREAM$, OutputStringStream.newOutputStringStream());
            Stella_Object.cppMaybeOutputStatementWithParentheses(arg3);
            result001 = ((OutputStringStream)(((OutputStream)(Stella.$CURRENT_STREAM$.get())))).theStringReader();

          } finally {
            Stella.$CURRENT_STREAM$.set(old$CurrentStream$001);
          }
        }
        translatedarg = result001;
      }
      if (translatedarg.charAt(0) == '"') {
        ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print("(char*)");
      }
      ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print(translatedarg);
      ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print(")");
    }
  }