float weight = requestMsg.getWeight();
float covar = requestMsg.getCovariance();
short clock = requestMsg.getClock();
int deltaUpdates = requestMsg.getDeltaUpdates();
MixMessage responseMsg = null;
try {
partial.lock();
int diffClock = partial.diffClock(clock);
partial.add(weight, covar, clock, deltaUpdates);
if(diffClock >= syncThreshold) {// sync model if clock DIFF is above threshold
float averagedWeight = partial.getWeight();
float minCovar = partial.getMinCovariance();
short totalClock = partial.getClock();
responseMsg = new MixMessage(event, feature, averagedWeight, minCovar, totalClock, 0 /* deltaUpdates */);
}
} finally {
partial.unlock();
}