/**
 * This function performs the specified boolean operation given two boolean expressions and an operator.
 * The supported operators are 'and', 'or' and 'not'.
 */
fun computeBooleanOperations(expression1: Boolean, expression2: Boolean, operator: String): Boolean? {

    val result: Boolean?

    result = when (operator) {
        "and" -> expression1 && expression2
        "or" -> expression1 || expression2
        "not" -> !expression1
        else -> null
    }

    return result
}
/**
 * This function performs the specified boolean operation given two boolean expressions and an operator.
 * The supported operators are 'and', 'or' and 'not'.
 */
fun computeBooleanOperations(expression1: Boolean, expression2: Boolean, operator: String): Boolean? {
/**
 * This function performs the specified boolean operation given two boolean expressions and an operator.
 * The supported operators are 'and', 'or' and 'not'.
 */
fun computeBooleanOperations(expression1: Boolean, expression2: Boolean, operator: String): Boolean? {

    val result: Boolean?

    result = when (operator) {
        "and" -> expression1 && expression2
        "or" -> expression1 || expression2
        "not" -> !expression1
        else -> null
    }

    return result
}