/// <summary>
        /// Fires <see cref="Error"/>
        /// </summary>
        /// <param name="e"></param>
        protected override void OnError( Exception e )
        {
            // base throw not important
            //base.OnError( e );

            QuickIOTransferFileCopyErrorEventArgs args = null;
            if ( Error != null )
            {
                args = new QuickIOTransferFileCopyErrorEventArgs( this, Source, Target, e );
                Error( this, args );
            }

            if ( Observer != null )
            {
                if ( args == null )
                {
                    args = new QuickIOTransferFileCopyErrorEventArgs( this, Source, Target, e );
                }
                Observer.OnFileCopyError( args );
            }
        }
 /// <summary>
 /// Fire <see cref="FileCopyError"/>
 /// </summary>
 /// <param name="args">Holds further event information</param>
 public virtual void OnFileCopyError( QuickIOTransferFileCopyErrorEventArgs args )
 {
     if ( FileCopyError != null )
     {
         FileCopyError( this, args );
     }
 }