private ObjectAdapter[] decodeParameters(final AuthenticationSession session, final Data[] parameterData,
final KnownObjectsRequest knownObjects) {
final ObjectAdapter[] parameters = new ObjectAdapter[parameterData.length];
for (int i = 0; i < parameters.length; i++) {
final Data data = parameterData[i];
if (data instanceof NullData) {
continue;
}
if (data instanceof IdentityData) {
parameters[i] = getPersistentObjectAdapter(session, (IdentityData) data);
} else if (data instanceof ObjectData) {
parameters[i] = encoderDecoder.decode(data, knownObjects);
} else if (data instanceof EncodableObjectData) {
final ObjectSpecification valueSpecification =
getSpecificationLoader().loadSpecification(data.getType());
final String valueData = ((EncodableObjectData) data).getEncodedObjectData();
final ObjectAdapter value = restoreLeafObject(valueData, valueSpecification);
/*
* ObjectAdapter value = IsisContext.getObjectLoader().createValueInstance(valueSpecification);