private static @NotNull Map<PyTargetExpression, String> mapTargetsToAnnotations(@NotNull PsiComment typeComment) {
    final PsiElement parent = typeComment.getParent();
    if (parent instanceof PyAssignmentStatement assignment) {
      final PyExpression[] rawTargets = assignment.getRawTargets();
      if (rawTargets.length == 1) {
        return mapTargetsToAnnotations(rawTargets[0], typeComment);
      }
    }
    else if (parent instanceof PyForPart forPart) {
      final PyExpression target = forPart.getTarget();
      if (target != null) {
        return mapTargetsToAnnotations(target, typeComment);
      }
    }
    else if (parent instanceof PyWithStatement) {
      final PyWithItem[] withItems = ((PyWithStatement)parent).getWithItems();
      if (withItems.length == 1) {
        final PyExpression target = withItems[0].getTarget();
        if (target != null) {
          return mapTargetsToAnnotations(target, typeComment);
        }
      }
    }
    return Collections.emptyMap();
  }
private static @NotNull Map<PyTargetExpression, String> mapTargetsToAnnotations(@NotNull PsiComment typeComment)