protected virtual void Dispose(bool disposing)
 {
     try
     {
         if (!this.disposed && this.statement != IntPtr.Zero)
         {
             try
             {
                 if (HelperMethods.LogPrepare(this.GetFlags()))
                 {
                     CultureInfo currentCulture = CultureInfo.CurrentCulture;
                     object[]    objArray       = new object[] { (disposing ? "disposed" : "finalized"), this.statement };
                     SQLiteLog.LogMessage(SQLiteErrorCode.Misuse, HelperMethods.StringFormat(currentCulture, "Connection lock object was {0} with statement {1}", objArray));
                 }
             }
             catch
             {
             }
         }
     }
     finally
     {
         this.disposed = true;
     }
 }