Bug 87856 [Commands] Last closed editor leaked due to reference by command manager
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ParameterizedCommand.java
*/
	private static final Collection expandParameters(final int startIndex,
			final IParameter[] parameters) {
		final boolean noMoreParameters = (startIndex + 1 >= parameters.length);
		final IParameter parameter = parameters[startIndex];
		IParameterValues values = null;
		try {
			values = parameter.getValues();
		} catch (final ParameterValuesException e) {
			if (noMoreParameters) {
				return Collections.EMPTY_LIST;
			}
			return expandParameters(startIndex, parameters);
		}
		final Map parameterValues = values.getParameterValues();
		final List parameterizations = new ArrayList(parameterValues.size());
		final Iterator parameterValueItr = parameterValues.entrySet()
				.iterator();
		while (parameterValueItr.hasNext()) {
			final Map.Entry entry = (Map.Entry) parameterValueItr.next();
			final Parameterization parameterization = new Parameterization(
					parameter, (String) entry.getValue());
			parameterizations.add(parameterization);
		}
		if (parameter.isOptional()) {
			parameterizations.add(null);
		}
		
		final int parameterizationCount = parameterizations.size();
		if (noMoreParameters) {