List<CallParameter> () { final int argumentCount = myArguments.size(); final List<? extends CallParameter> originalParameters = myOriginal.getParameters(); final int originalParameterCount = originalParameters.size(); if (isVararg()) { final CallParameter varargParameter = ContainerUtil.getLastItem(originalParameters); final List<? extends CallParameter> nonVarargParameters = originalParameters.subList(0, originalParameterCount - 1); return ContainerUtil.concat( nonVarargParameters.subList(0, myPosition), nonVarargParameters.subList(myPosition + argumentCount, nonVarargParameters.size() - 1), Collections.singletonList(varargParameter) ); } else { return ContainerUtil.concat( originalParameters.subList(0, myPosition), originalParameters.subList(myPosition + argumentCount, originalParameterCount) ); } }