docs: public void putAll(Map otherMap,
                         Transaction transaction)
                      throws ObjectManagerException
      {
          // Capture the ObjectManagers unlock sequence number. Anything unlocked after 
          // this will not count. The next lime delimits the pont before which additions to 
          // list must committed and unlocked.
          long transactionUnlockPoint = Long.MAX_VALUE; // All transactions end before this.
          if (transaction != null)
              transactionUnlockPoint = transaction.getTransactionUnlockSequence();
  
          // Make a dirty scan of the map.
          for (Iterator iterator = otherMap.entrySet().iterator(); iterator.hasNext();) {
              Entry entry = (Entry) iterator.next();
              if (((entry.state == Entry.stateAdded) && !entry.wasLocked(transactionUnlockPoint))
                  || ((entry.state == Entry.stateToBeAdded)
                  && entry.lockedBy(transaction))) {
                  // Found one added by the same transaction or was unlocked before we started the scan.
                  //TODO If we fail in here because of lack of log or store sace some of the
                  //     entries may have already been added.
                  put(entry.getKey(),
                      entry.getValue(),
                      transaction);
              }
          } // for...
      }