@Override
    public void visitPyCallExpression(@NotNull PyCallExpression node) {
      if (!isDict(node)) return;

      final MultiMap<String, PsiElement> keyValueAndKeys = new MultiMap<>();
      for (PyExpression argument : node.getArguments()) {
        argument = PyPsiUtils.flattenParens(argument);

        if (argument instanceof PySequenceExpression) {
          for (PyExpression element : ((PySequenceExpression)argument).getElements()) {
            final Pair<PsiElement, String> keyAndValue = getDictCallKey(element);
            if (keyAndValue != null) {
              keyValueAndKeys.putValue(keyAndValue.second, keyAndValue.first);
            }
          }
        }
        else if (argument instanceof PyKeywordArgument) {
          final Pair<PsiElement, String> keyAndValue = getDictCallKey(argument);
          if (keyAndValue != null) {
            keyValueAndKeys.putValue(keyAndValue.second, keyAndValue.first);
          }
        }
      }

      registerProblems(keyValueAndKeys);
    }
@Override
    public void visitPyCallExpression(@NotNull PyCallExpression node)