@Nullable
    private Pair<PsiElement, String> getDictCallKey(@Nullable PyExpression argument) {
      if (argument instanceof PyParenthesizedExpression) {
        final PyExpression expression = PyPsiUtils.flattenParens(argument);
        if (expression instanceof PyTupleExpression) {
          final PyExpression key = ((PyTupleExpression)expression).getElements()[0];
          final String keyValue = getKeyValue(key);
          if (keyValue != null) {
            return Pair.createNonNull(key, keyValue);
          }
        }
      }

      if (argument instanceof PyKeywordArgument) {
        final ASTNode node = ((PyKeywordArgument)argument).getKeywordNode();
        final String keyValue = ((PyKeywordArgument)argument).getKeyword();
        if (node != null && keyValue != null) {
          return Pair.createNonNull(node.getPsi(), wrapStringKey(keyValue));
        }
      }

      return null;
    }
@Nullable
    private Pair<PsiElement, String> getDictCallKey(@Nullable PyExpression argument)