public virtual void PersistenceGroupItemScanned(Net.Vpc.Upa.ScanEvent @event)
 {
     if (listener != null)
     {
         listener.PersistenceGroupItemScanned(@event);
     }
     Net.Vpc.Upa.PersistenceGroup persistenceGroup = @event.GetPersistenceGroup();
     System.Type t = @event.GetVisitedType();
     if (@event.GetContract().Equals(typeof(Net.Vpc.Upa.Callbacks.PersistenceUnitDefinitionListener)))
     {
         object i = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <System.Type, object>(instances, t);
         if (i == null)
         {
             i            = persistenceGroup.GetFactory().GetSingleton <object>(t);
             instances[t] = i;
         }
         persistenceGroup.AddPersistenceUnitDefinitionListener((Net.Vpc.Upa.Callbacks.PersistenceUnitDefinitionListener)i);
     }
     if (@event.GetContract().Equals(typeof(Net.Vpc.Upa.PersistenceGroupSecurityManager)))
     {
         object i = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <System.Type, object>(instances, t);
         if (i == null)
         {
             i            = persistenceGroup.GetFactory().GetSingleton <object>(t);
             instances[t] = i;
         }
         persistenceGroup.SetPersistenceGroupSecurityManager((Net.Vpc.Upa.PersistenceGroupSecurityManager)i);
     }
 }