code: private boolean doTryUpdateNoLock(S storable) {
          S existing = mMap.get(new Key<S>(storable, mFullComparator));
          if (existing == null) {
              return false;
          } else {
              // Copy altered values to existing object.
              existing.markAllPropertiesDirty();
              storable.copyDirtyProperties(existing);
              existing.markAllPropertiesClean();
  
              // Copy all values to user object, to simulate a reload.
              storable.markAllPropertiesDirty();
              existing.copyAllProperties(storable);
              storable.markAllPropertiesClean();
  
              return true;
          }
      }
docs: Caller must hold write lock.