@Override
    public <T> T accept(ExpressionVisitor<T> visitor) {
        return visitor.visitLiteral(this);
    }
Creates a LiteralExpression from {@code value}, unwrapping it if necessary.

@param value Value to create the expression from.
@return Returns the LiteralExpression of the given {@code value}.
smithy-jmespath/src/main/java/software/amazon/smithy/jmespath/ast/LiteralExpression.java