@Nullable
  private static Pair<QualifiedName, NamedTupleModule> getCalleeNameAndNTModule(@NotNull PyReferenceExpression referenceExpression) {
    final QualifiedName calleeName = PyPsiUtils.asQualifiedName(referenceExpression);
    if (calleeName == null) return null;

    for (String name : ContainerUtil.map(PyResolveUtil.resolveImportedElementQNameLocally(referenceExpression), QualifiedName::toString)) {
      if (name.equals(PyNames.COLLECTIONS_NAMEDTUPLE_PY2)) {
        return Pair.createNonNull(calleeName, NamedTupleModule.COLLECTIONS);
      }
      else if (name.equals(PyTypingTypeProvider.NAMEDTUPLE)) {
        return Pair.createNonNull(calleeName, NamedTupleModule.TYPING);
      }
    }

    return null;
  }
@Nullable
  private static Pair<QualifiedName, NamedTupleModule> getCalleeNameAndNTModule(@NotNull PyReferenceExpression referenceExpression)