boolean (@NotNull ControlFlowPolicy policy, @NotNull ControlFlowOptions options, long modificationCount) { if (modificationCount != this.modificationCount) return false; if (!policy.equals(this.policy)) return false; if (!options.equals(this.options)) { // optimization: when no constant condition were computed, both control flows are the same return !controlFlow.isConstantConditionOccurred() && this.options.dontEvaluateConstantIfCondition().equals(options); } return true; }