void divert(final List<BaseDownloadTask> destination){
synchronized (list) {
synchronized (destination) {
      destination.addAll(list);
    }
    list.clear();
  }
}

void divert ( final List < BaseDownloadTask > destination ) { synchronized ( list ) { synchronized ( destination ) { destination . addAll ( list ) ; } list . clear ( ) ; } }
divert all data in list 2 destination list
