public void verify() {
   getSession().getIdentityMapAccessor().initializeAllIdentityMaps();
   holder = (DirectEntityMapHolder) getSession().readObject(holder);
   if (!compareObjects(holder, changedHolder)) {
     throw new TestErrorException("Objects do not match reinitialize");
   }
   if (holder.getDirectToEntityMap().size() != 2) {
     throw new TestErrorException("Incorrect Number of MapEntityValues was read.");
   }
   EntityMapValue value = (EntityMapValue) holder.getDirectToEntityMap().get(new Integer(33));
   if (value.getId() != 3) {
     throw new TestErrorException("MapEntityValue was not added properly.");
   }
   value = (EntityMapValue) holder.getDirectToEntityMap().get(11);
   if (value != null) {
     throw new TestErrorException("Deleted EntityMapValue still around.");
   }
   if (mapping.isPrivateOwned()) {
     ReadObjectQuery query = new ReadObjectQuery(EntityMapValue.class);
     ExpressionBuilder values = new ExpressionBuilder();
     Expression criteria = values.get("id").equal(1);
     query.setSelectionCriteria(criteria);
     value = (EntityMapValue) getSession().executeQuery(query);
     if (value != null) {
       throw new TestErrorException("PrivateOwned EntityMapValue was not deleted.");
     }
   }
 }
 public void reset() {
   UnitOfWork uow = getSession().acquireUnitOfWork();
   Iterator j = holder.getDirectToEntityMap().keySet().iterator();
   while (j.hasNext()) {
     uow.deleteObject(holder.getDirectToEntityMap().get(j.next()));
   }
   uow.deleteObject(holder);
   uow.commit();
   mapping.setIsPrivateOwned(oldPrivateOwnedValue);
 }
  public void test() {
    UnitOfWork uow = getSession().acquireUnitOfWork();
    changedHolder = (DirectEntityMapHolder) uow.readObject(holder);
    EntityMapValue value = new EntityMapValue();
    value.setId(3);
    changedHolder.addDirectToEntityMapItem(new Integer(33), value);

    changedHolder.getDirectToEntityMap().remove(new Integer(11));
    uow.commit();
    Object holderForComparison = uow.readObject(holder);
    if (!compareObjects(changedHolder, holderForComparison)) {
      throw new TestErrorException("Objects do not match after write");
    }
  }