diff options
| -rw-r--r-- | src/main/java/com/amazon/carbonado/repo/map/MapStorage.java | 10 | 
1 files changed, 5 insertions, 5 deletions
diff --git a/src/main/java/com/amazon/carbonado/repo/map/MapStorage.java b/src/main/java/com/amazon/carbonado/repo/map/MapStorage.java index 27934ef..e700bd7 100644 --- a/src/main/java/com/amazon/carbonado/repo/map/MapStorage.java +++ b/src/main/java/com/amazon/carbonado/repo/map/MapStorage.java @@ -322,15 +322,15 @@ class MapStorage<S extends Storable>      // Caller must hold upgrade or write lock.
      private boolean doTryInsertNoLock(S storable) {
 -        Key<S> key = new Key<S>(storable, mFullComparator);
 -        S existing = mMap.get(key);
 -        if (existing != null) {
 -            return false;
 -        }
          // Create a fresh copy to ensure that custom fields are not saved.
          S copy = (S) storable.prepare();
          storable.copyAllProperties(copy);
          copy.markAllPropertiesClean();
 +        Key<S> key = new Key<S>(copy, mFullComparator);
 +        S existing = mMap.get(key);
 +        if (existing != null) {
 +            return false;
 +        }
          mMap.put(key, copy);
          storable.markAllPropertiesClean();
          return true;
  | 
