Preconditions.checkArgument(dataModel != null, "dataModel is null");
Preconditions.checkArgument(logBase > 1.0, "logBase should be > 1.0");
this.dataModel = dataModel;
this.logBase = logBase;
this.iufFactors = new FastByIDMap<Double>();
this.refreshHelper = new RefreshHelper(new Callable<Object>() {
@Override
public Object call() throws TasteException {
recompute();
return null;
}