}
private List<MethodContract> visitLogicalOperation(PsiExpression[] operands, boolean conjunction, List<ValueConstraint[]> states) {
ValueConstraint breakValue = conjunction ? FALSE_VALUE : TRUE_VALUE;
List<MethodContract> finalStates = ContainerUtil.newArrayList();
for (PsiExpression operand : operands) {
<BUG>List<MethodContract> opResults = visitExpression(states, operand);

finalStates.addAll(ContainerUtil.filter(opResults, contract -> contract.returnValue == breakValue));
</BUG>
states = antecedentsReturning(opResults, negateConstraint(breakValue));

}
}
return result;
}
