private boolean dependsOnIgnoredConstraint(Set<ConstraintFormula> ignoredConstraints, ExpressionCompatibilityConstraint compatibilityConstraint) {
    if (!ignoredConstraints.isEmpty()) {
      Set<InferenceVariable> inputVariables = compatibilityConstraint.getInputVariables(this);

      if (inputVariables != null) {
        for (ConstraintFormula ignoredConstraint : ignoredConstraints) {
          if (ignoredConstraint instanceof InputOutputConstraintFormula) {
            Set<InferenceVariable> inputsOfIgnored = ((InputOutputConstraintFormula)ignoredConstraint).getInputVariables(this);
            Set<InferenceVariable> outputVariables = ((InputOutputConstraintFormula)ignoredConstraint).getOutputVariables(inputsOfIgnored, this);
            if (outputVariables != null && ContainerUtil.intersects(outputVariables, inputVariables)) return true;
          }
        }
      }
    }
    return false;
  }
private boolean dependsOnIgnoredConstraint(Set<ConstraintFormula> ignoredConstraints, ExpressionCompatibilityConstraint compatibilityConstraint)