code: @Override
      public void setState(TransferState state) {
          super.setState(state);
  
          switch (state) {
              case Completed :
                  fireProgressEvent(ProgressEventType.TRANSFER_COMPLETED_EVENT);
                  break;
              case Canceled:
                  fireProgressEvent(ProgressEventType.TRANSFER_CANCELED_EVENT);
                  break;
              case Failed:
                  fireProgressEvent(ProgressEventType.TRANSFER_FAILED_EVENT);
                  break;
              default:
                  break;
          }
      }
docs: This method is also responsible for firing COMPLETED signal to the
  listeners.