@Contract("null -> false")
  public static boolean isCollectionConstructor(PsiMethod ctor) {
    if (ctor == null || !ctor.isConstructor() || !ctor.getModifierList().hasExplicitModifier(PsiModifier.PUBLIC)) return false;
    PsiParameterList list = ctor.getParameterList();
    if (list.getParametersCount() != 1) return false;
    PsiType type = Objects.requireNonNull(list.getParameter(0)).getType();
    PsiClass aClass = PsiUtil.resolveClassInClassTypeOnly(type);
    return aClass != null &&
           (CommonClassNames.JAVA_UTIL_COLLECTION.equals(aClass.getQualifiedName()) ||
            CommonClassNames.JAVA_UTIL_MAP.equals(aClass.getQualifiedName()));
  }
@Contract("null -> false")
  public static boolean isCollectionConstructor(PsiMethod ctor)