-   internal interface ILinksInfo { 
-     /// <summary> 
-     /// Хэндлы объектов, которые ссылаются на  
-     /// данный объект. 
-     /// </summary> 
-     List<Db.Handle> BottomHandles { get; } 
-     /// <summary> 
-     /// Хэндлы объектов, на которые ссылается  
-     /// данный объект. 
-     /// </summary> 
-     List<Db.Handle> TopHandles { get; } 
-   } 
-   
-   /// <summary> 
-   /// Базовая реализация интерфейса ILinksInfo 
-   /// </summary> 
-   [Serializable] 
-   internal class LinksInfo : ILinksInfo { 
-   
-     List<Db.Handle> bottomHandles; 
-     List<Db.Handle> topHandles; 
-   
-     public List<Db.Handle> BottomHandles { 
-       get { return bottomHandles; } 
-     } 
-   
-     public List<Db.Handle> TopHandles { 
-       get { return topHandles; } 
-     } 
-   } 
-   
-   /// <summary> 
-   /// Диспетчер ссылок для конкретной Database. 
-   /// </summary> 
-   internal sealed class LinksDispatcher : 
-     IDisposable { 
-     Dictionary<Db.Handle, List<ILinksInfo>> dict; 
-   
-     internal Dictionary<Db.Handle, 
-       List<ILinksInfo>> Dictionary { 
-       get { return dict; } 
-       set { dict = value; } 
-     } 
-     Db.Database db = null; 
-   
-     public Db.Database Database { 
-       get { return db; } 
-       private set { db = value; } 
-     } 
-   
-     public LinksDispatcher(Db.Database _db) { 
-       Database = _db; 
-   
-       // Проверяем, хранится ли в Database наша 
-       // информация о связях. 
-       if(LinkInfoExists(Database)) { 
-         // Если хранится, то читаем её. 
-         dict = ReadLinkInfo(Database); 
-         // Проверяем целостность информации: 
-         // объекты указанных хэндлов существуют,  
-         // корректны и не удалены. Те, которые не 
-         // соотвтетствуют - убираем из структуры. 
-         dict = CheckInfo(Database, dict); 
-       } 
-       else { 
-         // Если не хранится - создаём новую  
-         // структуру для её хранения. 
-         dict = CreateDictInfo(Database); 
-       } 
-   
-       // Регистрируемся на интересующие нас  
-       // события 
-       Database.ObjectAppended += Database_ObjectAppended; 
-       Database.ObjectErased += Database_ObjectErased; 
-       Database.ObjectModified += Database_ObjectModified; 
-     } 
-   
-     void Database_ObjectModified(object sender, 
-       Db.ObjectEventArgs e) { 
-       throw new NotImplementedException(); 
-     } 
-   
-     void Database_ObjectErased(object sender, 
-       Db.ObjectErasedEventArgs e) { 
-       throw new NotImplementedException(); 
-     } 
-   
-     void Database_ObjectAppended(object sender, 
-       Db.ObjectEventArgs e) { 
-       throw new NotImplementedException(); 
-     } 
-   
-     // Генерируем новую структуру, предназначенную 
-     // для хранения информации о связях. 
-     private Dictionary<Db.Handle, 
-       List<ILinksInfo>> CreateDictInfo( 
-       Db.Database Database) { 
-   
-       Dictionary<Db.Handle, 
-         List<ILinksInfo>> dict = 
-         new Dictionary<Db.Handle, 
-           List<ILinksInfo>>(); 
-   
-       for(Int64 i = db.BlockTableId.Handle 
-            .Value; i < db.Handseed.Value; i++) { 
-         Db.ObjectId id = Db.ObjectId.Null; 
-         Db.Handle h = new Db.Handle(i); 
-   
-         Boolean result = db.TryGetObjectId(h, 
-           out id) && !id.IsNull && id.IsValid 
-           && !id.IsErased && 
-           !id.IsEffectivelyErased; 
-   
-         if(result) 
-           dict.Add(new Db.Handle(i), 
-             new List<ILinksInfo>()); 
-       } 
-       return dict; 
-     } 
-   
-     // Проверяем целостность информации: 
-     // объекты указанных хэндлов существуют,  
-     // корректны и не удалены. Те, которые не 
-     // соотвтетствуют - убираем из структуры. 
-     private Dictionary<Db.Handle, 
-       List<ILinksInfo>> CheckInfo( 
-       Db.Database Database, 
-       Dictionary<Db.Handle, List<ILinksInfo>> 
-       dict) { 
-       throw new NotImplementedException(); 
-     } 
-   
-     // Читаем из Database ранее нами сохранённую  
-     // информацию о связях. 
-     private Dictionary<Db.Handle, 
-       List<ILinksInfo>> ReadLinkInfo( 
-       Db.Database Database) { 
-       throw new NotImplementedException(); 
-     } 
-   
-     // Проверка на то, хранится ли уже в Database 
-     // наша информация о связях. 
-     private bool LinkInfoExists( 
-       Db.Database Database) { 
-       throw new NotImplementedException(); 
-     } 
-   
-   
-     public void Dispose() { 
-       // Сохраняем в базу данных информацию о связях. 
-       SaveLinkInfo(Database); 
-     } 
-   
-     // Сохраняем в базу данных информацию о связях. 
-     private void SaveLinkInfo(Db.Database Database) { 
-       throw new NotImplementedException(); 
-     } 
-   }