List<PyExpression> (@NotNull PyExpression expression) { if (isSixWithMetaclassCall(expression)) { final PyExpression[] arguments = ((PyCallExpression)expression).getArguments(); if (arguments.length > 1) { return ContainerUtil.subArrayAsList(arguments, 1, arguments.length); } else { return Collections.emptyList(); } } // Heuristic: unfold Foo[Bar] to Foo for subscription expressions for superclasses else if (expression instanceof PySubscriptionExpression subscriptionExpr) { return Collections.singletonList(subscriptionExpr.getOperand()); } return Collections.singletonList(expression); }