### Question:
ExpressionUtils { public static boolean isFalseValueLiteral(Tree originalTree) { Tree tree = skipParentheses(originalTree); return (tree instanceof LiteralTree && FALSE_LITERAL.equals(((LiteralTree) tree).value())) || (isNegation(tree) && isTrueValueLiteral(((UnaryExpressionTree) tree).operand())); } private  ExpressionUtils(); static boolean isBooleanLiteral(Tree tree); static boolean isFalseValueLiteral(Tree originalTree); static boolean isTrueValueLiteral(Tree originalTree); static boolean isNegation(Tree tree); static boolean isBinaryOperation(Tree tree, BinaryExpressionTree.Operator operator); static boolean isLogicalBinaryExpression(Tree tree); static Tree skipParentheses(Tree tree); static boolean containsPlaceHolder(Tree tree); static boolean isTernaryOperator(Deque<Tree> ancestors, Tree tree); static Optional<String> getMemberSelectOrIdentifierName(Tree tree);  }### Answer:
@Test public void test_false_literal_value() { assertThat(isFalseValueLiteral(TRUE_LITERAL)).isFalse(); assertThat(isFalseValueLiteral(FALSE_LITERAL)).isTrue(); assertThat(isFalseValueLiteral(NUMBER_LITERAL)).isFalse(); assertThat(isFalseValueLiteral(TRUE_NEGATED)).isTrue(); assertThat(isFalseValueLiteral(FALSE_NEGATED)).isFalse(); }