public static Cons cppTranslatePrintStream(Cons tree) {
    tree.firstSetter(Stella.SYM_STELLA_CPP_PRINT_STREAM);
    if (Surrogate.subtypeOfKeywordP(Stella_Object.safePrimaryType(tree.rest.value))) {
      { GeneralizedSymbol testValue000 = ((GeneralizedSymbol)(tree.rest.value));

        if ((testValue000 == Stella.KWD_WARN) ||
            ((testValue000 == Stella.KWD_ERROR) ||
             (testValue000 == Stella.KWD_CONTINUABLE_ERROR))) {
          tree.secondSetter(Stella.SYM_STELLA_CPP_STANDARD_ERROR);
        }
        else {
          { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

            stream000.nativeStream.print("`" + testValue000 + "' is not a valid case option");
            throw ((StellaException)(StellaException.newStellaException(stream000.theStringReader()).fillInStackTrace()));
          }
        }
      }
    }
    else {
      if (Stella_Object.cppStreamIsStandardOutputP(tree.rest.value)) {
        tree.secondSetter(Stella.SYM_STELLA_CPP_STANDARD_OUT);
      }
      else {
        tree.secondSetter(Stella_Object.cppTranslateATree(tree.rest.value));
      }
    }
    { ConsIterator it = tree.rest.rest.allocateIterator();

      while (it.nextP()) {
        if (it.value == Stella.SYM_STELLA_EOL) {
          it.valueSetter(Stella.getQuotedTree("((CPP_IDENT \"std::endl\") \"/STELLA\")", "/STELLA"));
        }
        else {
          it.valueSetter(Stella_Object.cppTranslateATree(it.value));
        }
      }
    }
    return (tree);
  }