List<PyCallableParameter> (@NotNull PyTupleParameter parameter) { final List<PyCallableParameter> results = new ArrayList<>(); for (PyParameter component : parameter.getContents()) { if (component instanceof PyNamedParameter) { results.add(PyCallableParameterImpl.psi(component)); } else if (component instanceof PyTupleParameter) { results.addAll(getFlattenedTupleParameterComponents((PyTupleParameter)component)); } } return results; }