@Nullable
    private String getKeyValue(@NotNull PsiElement node) {
      if (node instanceof PyStringLiteralExpression) {
        return wrapStringKey(((PyStringLiteralExpression)node).getStringValue());
      }

      if (node instanceof PyNumericLiteralExpression) {
        final BigDecimal value = ((PyNumericLiteralExpression)node).getBigDecimalValue();
        if (value != null) {
          final String keyValue = value.toPlainString();
          return !value.equals(BigDecimal.ZERO) &&
                 myTypeEvalContext.getType((PyNumericLiteralExpression)node) == PyBuiltinCache.getInstance(node).getComplexType()
                 ? keyValue + "j"
                 : keyValue;
        }
      }

      return node instanceof PyLiteralExpression || node instanceof PyReferenceExpression ? node.getText() : null;
    }
@Nullable
    private String getKeyValue(@NotNull PsiElement node)