try {
buildAveragesLock.writeLock().lock();
RunningAverage itemAverage = itemAverages.get(itemID);
if (itemAverage == null) {
RunningAverage newItemAverage = new FullRunningAverage();
newItemAverage.addDatum(prefDelta);
itemAverages.put(itemID, newItemAverage);
} else {
itemAverage.changeDatum(prefDelta);
}
RunningAverage userAverage = userAverages.get(userID);