PyElement (@NotNull PyParameterList parameterList, boolean hasDefaultValue) { if (hasDefaultValue) return getKeywordContainer(parameterList); final List<PyParameter> parameters = Arrays.asList(parameterList.getParameters()); for (Pair<PyParameter, PyParameter> currentAndNext : ContainerUtil.zip(parameters, parameters.subList(1, parameters.size()))) { final PyParameter current = currentAndNext.getFirst(); if (current instanceof PyNamedParameter && ((PyNamedParameter)current).isPositionalContainer()) { return currentAndNext.getSecond(); } } return ContainerUtil.find(parameterList.getParameters(), p -> p.hasDefaultValue() || p instanceof PyNamedParameter && ((PyNamedParameter)p).isKeywordContainer()); }