public static boolean javaStatementReturnsP(Cons statement) {
    if (!(statement != null)) {
      return (false);
    }
    else if (statement == Stella.NIL) {
      return (false);
    }
    else {
      { GeneralizedSymbol testValue000 = ((GeneralizedSymbol)(statement.value));

        if (testValue000 == Stella.SYM_STELLA_JAVA_VERBATIM) {
          return (Native.stringSearch(((StringWrapper)(statement.rest.value)).wrapperValue, "throw new Error", 0) != Stella.NULL_INTEGER);
        }
        else if ((testValue000 == Stella.SYM_STELLA_JAVA_RETURN) ||
            ((testValue000 == Stella.SYM_STELLA_JAVA_CONTINUE) ||
             ((testValue000 == Stella.SYM_STELLA_JAVA_BREAK) ||
              (testValue000 == Stella.SYM_STELLA_JAVA_SIGNAL)))) {
          return (true);
        }
        else if (testValue000 == Stella.SYM_STELLA_JAVA_STATEMENTS) {
          return (Cons.javaLastStatementReturnsP(statement.rest));
        }
        else if (testValue000 == Stella.SYM_STELLA_JAVA_PROGN) {
          return (Cons.javaLastStatementReturnsP(((Cons)(statement.rest.value))));
        }
        else if (testValue000 == Stella.SYM_STELLA_JAVA_BLOCK) {
          return (Cons.javaLastStatementReturnsP(((Cons)(statement.rest.rest.value))));
        }
        else if (testValue000 == Stella.SYM_STELLA_JAVA_IF) {
          return (Cons.javaStatementReturnsP(((Cons)(statement.rest.rest.value))) &&
              Cons.javaStatementReturnsP(((Cons)(statement.fourth()))));
        }
        else if (testValue000 == Stella.SYM_STELLA_JAVA_COND) {
          { boolean testValue001 = false;

            testValue001 = Cons.javaStatementReturnsP(((Cons)(statement.rest.value)));
            if (testValue001) {
              { boolean alwaysP000 = true;

                { Stella_Object c = null;
                  Cons iter000 = ((Cons)(statement.rest.rest.value));

                  loop000 : for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
                    c = iter000.value;
                    if (!Cons.javaLastStatementReturnsP(((Cons)(c)))) {
                      alwaysP000 = false;
                      break loop000;
                    }
                  }
                }
                testValue001 = alwaysP000;
              }
            }
            { boolean value000 = testValue001;

              return (value000);
            }
          }
        }
        else {
          return (false);
        }
      }
    }
  }