private static @NotNull Map<PyTargetExpression, String> mapTargetsToAnnotations(@NotNull PyExpression targetExpr, @NotNull PsiComment typeComment) {
    final PyTargetExpression firstTarget = PsiTreeUtil.findChildOfType(targetExpr, PyTargetExpression.class, false);
    if (firstTarget == null || firstTarget.getTypeComment() != typeComment) {
      return Collections.emptyMap();
    }

    final String annotation = PyTypingTypeProvider.getTypeCommentValue(typeComment.getText());
    if (annotation != null) {
      if (targetExpr instanceof PyTargetExpression) {
        return ImmutableMap.of((PyTargetExpression)targetExpr, annotation);
      }

      final PyElementGenerator generator = PyElementGenerator.getInstance(targetExpr.getProject());
      final PyExpression parsed;
      try {
        parsed = generator.createExpressionFromText(LanguageLevel.PYTHON36, annotation);
      }
      catch (IncorrectOperationException e) {
        return Collections.emptyMap();
      }
      final Map<PyTargetExpression, PyExpression> targetToExpr = PyTypingTypeProvider.mapTargetsToAnnotations(targetExpr, parsed);
      return EntryStream.of(targetToExpr).mapValues(PyExpression::getText).toCustomMap(LinkedHashMap::new);
    }
    return Collections.emptyMap();
  }
private static @NotNull Map<PyTargetExpression, String> mapTargetsToAnnotations(@NotNull PyExpression targetExpr, @NotNull PsiComment typeComment)