List<Track> lovedTracks = new ArrayList<>();
do {
WSResponse wsResponse = userLovedTracksClient.getUserLovedTracks(user, page);
if (wsResponse.wasCallAllowed() && wsResponse.wasCallSuccessful()) {
StringUtil stringUtil = new StringUtil(wsResponse.getResponseBody());
UserLovedTracksParser parser = new UserLovedTracksParserImpl(
stringUtil.getInputStream());
totalPages = parser.getTotalPages();
lovedTracks.addAll(parser.getLovedTracks());
}
} while (++page < totalPages);
addFinishedOperation();
userLovedTracks.add(new UserLovedTracks(user.getLastFmUsername(), lovedTracks));