List<PyCallableParameter> (@NotNull TypeEvalContext context) { final var resolveContext = PyResolveContext.defaultContext(context); return StreamEx .of(PyUtil.filterTopPriorityElements(PyCallExpressionHelper.resolveImplicitlyInvokedMethods(this, null, resolveContext))) .select(PyCallable.class) .map(callable -> callable.getParameters(context)) .findFirst() // If resolved parameters are empty, consider them as invalid and return null .filter(parameters -> !parameters.isEmpty()) // Skip "self" for __init__/__call__ and "cls" for __new__ .map(parameters -> ContainerUtil.subList(parameters, 1)) .orElse(null); }