private void ReadFile()
 {
     if (File.Exists(filename))
     {
         FileStream output = new FileStream(filename, FileMode.OpenOrCreate);
         try
         {
             object data = serializer.Deserialize(output);
             if (data is FileDatabaseData)
             {
                 this.data = (FileDatabaseData)data;
             }
         }
         catch (SerializationException e)
         {
             log.WarnFormat("Failed to deserialize from the file {0} - {1}", filename, e);
         }
         output.Close();
     }
     else
     {
         this.data = new FileDatabaseData();
     }
 }
 /// <summary>
 /// Dispose the system.
 /// </summary>
 public void Dispose()
 {
     data       = null;
     filename   = null;
     serializer = null;
 }