public static unsafe void Read(FABMessageWatcher messageWatcher, int offset, int Length, void *value)
 {
     lock (messageWatcher.syncRoot)
     {
         if (!messageWatcher.InitializedIO)
         {
             messageWatcher.InitIO();
         }
         messageWatcher.Read(offset, Length, value);
     }
 }
 public static void Read(FABMessageWatcher messageWatcher, int offset, out List <string> value)
 {
     lock (messageWatcher.syncRoot)
     {
         if (!messageWatcher.InitializedIO)
         {
             messageWatcher.InitIO();
         }
         messageWatcher.Read(offset, out value);
     }
 }
 public unsafe static void Write(FABMessageWatcher messageWatcher, void *value, int Length, int offset)
 {
     lock (messageWatcher.syncRoot)
     {
         if (!messageWatcher.InitializedIO)
         {
             messageWatcher.InitIO();
         }
         if (offset > messageWatcher.IO_write_index)
         {
             messageWatcher.IO_write_index = offset;
         }
         messageWatcher.data.Write(value, Length, ref messageWatcher.IO_write_index);
     }
 }
 public static void Write(FABMessageWatcher messageWatcher, int offset, params string[] value)
 {
     lock (messageWatcher.syncRoot)
     {
         if (!messageWatcher.InitializedIO)
         {
             messageWatcher.InitIO();
         }
         if (offset > messageWatcher.IO_write_index)
         {
             messageWatcher.IO_write_index = offset;
         }
         messageWatcher.data.Write(ref messageWatcher.IO_write_index, value);
     }
 }