public void Dispose()
 {
     IsDisposed = true;
     UnregisterEvents();
     projectCollection.Dispose();
 }