private ObjectAdapter decodeTargetAdapter(final AuthenticationSession session, final ReferenceData targetData,
final KnownObjectsRequest knownObjects) {
ObjectAdapter targetAdapter;
if (targetData == null) {
throw new IsisRemoteException("No target specified");
} else if (targetData instanceof IdentityData) {
targetAdapter = getPersistentObjectAdapter(session, (IdentityData) targetData);
} else if (targetData instanceof ObjectData) {
targetAdapter = encoderDecoder.decode(targetData, knownObjects);
} else {