private class LazyArtist extends DefaultArtist {
private final Memoizer<Void> tracksMemoizer = new Memoizer<Void>(new Callable<Void>() {
+ @Override
public Void call() throws DatabaseException {
if (!hasValue("tracks")) {
value("tracks", Collection.class).set(getTracksByArtist(id()));
return super.groups();
}
+ @Override
public Collection<Track> tracks() {
tracksMemoizer.get();
return super.tracks();