if (specification.isParseable()) {
parameter = new ObjectActionParameterParseable(i, this, paramPeer);
} else if (specification.isNotCollection()) {
parameter = new OneToOneActionParameterImpl(i, this, paramPeer);
} else if (specification.isParentedOrFreeCollection()) {
throw new UnknownTypeException("collections not supported as parameters: " + getIdentifier());
} else {
throw new UnknownTypeException(specification);
}
parameters.add(parameter);
}
this.parameters = parameters;
}