void (GrParameter[] parameters, int optionalParams, PsiClassType categoryType) { final GrLightParameterListBuilder parameterList = (GrLightParameterListBuilder)getParameterList(); List<GrParameter> skipped = new ArrayList<>(); if (categoryType != null) { parameterList.addParameter(new GrLightParameter(CATEGORY_PARAMETER_NAME, categoryType, this)); } for (GrParameter parameter : parameters) { if (parameter.isOptional()) { if (optionalParams < 1) { skipped.add(parameter); continue; } optionalParams--; } parameterList.addParameter(createLightParameter(parameter)); } LOG.assertTrue(optionalParams == 0); mySkippedParameters = skipped.toArray(GrParameter.EMPTY_ARRAY); }