public Object instantiate(final Target<?> target, Parameters parameters) {
List<Parameter> fixed = Lists.transform(parameters.forTarget(target), new Function<Parameter, Parameter>() {
int i = 0;
public Parameter apply(Parameter parameter) {
if (target.getName().equals(parameter.getName())) {
return new Parameter(parameter.getName() + "[" + i++ + "]", parameter.getValue());
}
return parameter;
}
});
return delegate.instantiate(target, new Parameters(fixed));