private void destroyPhotoSection(bool _callback)
        {
            if (sec_photo != null)
            {
                sec_photo.initiateNewCaption -= handleNewCaptionVORequest;
                sec_photo.requestNewPhotoList -= handlePhotoListStateUpdate;
                sec_photo.destroyInternals();
                if (sec_photo is IDisposable)
                {
                    (sec_photo as IDisposable).Dispose();
                }
                sec_photo = null;

                if (_callback == true)
                {
                    createPhotoSection();
                }
            }
        }
 private void createPhotoSection()
 {
     if (sec_photo == null)
     {
         sec_photo = new SectionPhoto();
         sec_photo.initiateNewCaption += handleNewCaptionVORequest;
         sec_photo.requestNewPhotoList += handlePhotoListStateUpdate;
         sec_photo.init(ref _sensor, ref mainWindow, ref _primaryChromaImageList);
     }
     else
     {
         destroyPhotoSection(true);
     }
 }