private static <T> void putCachedValue(PsiExpression expression,
                                         Key<T> key, T value) {
    if (expression instanceof PsiBinaryExpression) {
      expression.putUserData(key, value);
    }
  }
private static <T> void putCachedValue(PsiExpression expression,
                                         Key<T> key, T value)