public UserInfo getUserInfo(String identifier) { OA2Asset asset = getAsset2(identifier); if (asset == null || asset.getAccessToken() == null) return null; UIRequest uiRequest = new UIRequest(asset.getAccessToken()); uiRequest.setClient(getEnvironment().getClient()); DS2 ds2 = (DS2) getEnvironment().getDelegationService(); UIResponse resp = ds2.getUserInfo(uiRequest); JSONObject json = JSONObject.fromObject(resp.getRawJSON()); UserInfo ui = new UserInfo(); ui.setMap(json); // return everything, even specialized fields. //UserInfo ui = (UserInfo) JSONObject.toBean(json, UserInfo.class); return ui; }