// defer execution of the key operation until the next find, flush, or query
Runnable postExecuteOperation = new Runnable() {
public void run() {
if (rs.next()) {
// found row in database
instanceHandler.found(Boolean.TRUE);
// put the results into the instance
domainTypeHandler.objectSetValues(rs, instanceHandler);
// set the cache manager to track updates
domainTypeHandler.objectSetCacheManager(cacheManager, instanceHandler);
// reset modified bits in instance