List<PsiExpression> (PsiPolyadicExpression context, PsiExpression operand, boolean and, List<PsiExpression> dependencies) { if (dependencies.isEmpty() || getRedundantOperandIndices(context, Collections.singletonList(operand), and).length != 0) { // Does not actually depend on dependencies return Collections.emptyList(); } if (dependencies.size() == 1) return dependencies; for (PsiExpression dependency : dependencies) { if (ArrayUtil.indexOf(getRedundantOperandIndices(context, Arrays.asList(operand, dependency), and), 0) != -1) { return Collections.singletonList(dependency); } } return dependencies; }