code: public synchronized void finish() {
      if (!this.isInitialized()) {
        throw new IllegalStateException("Torrent not yet initialized!");
      }
  
      if (!this.isComplete()) {
        throw new IllegalStateException("Torrent download is not complete!");
      }
  
      eventDispatcher.multicaster().downloadComplete();
      setClientState(ClientState.SEEDING);
    }
docs: Finalize the download of this torrent.
  <p/>
  <p>
  This realizes the final, pre-seeding phase actions on this torrent,
  which usually consists in putting the torrent data in their final form
  and at their target location.
  </p>
  
  @see TorrentByteStorage#finish