boolean (@NotNull PyCollectionType expected, @NotNull PyClassType actual, @NotNull MatchContext context) { if (actual instanceof PyTupleType) { return match(expected, (PyTupleType)actual, context); } final PyClass superClass = expected.getPyClass(); final PyClass subClass = actual.getPyClass(); return matchClasses(superClass, subClass, context.context) && matchGenerics(expected, actual, context); }