move synchronization to method that operate on DataContainer instead of the raw types