code: public synchronized void init() throws InterruptedException, IOException {
      setClientState(ClientState.VALIDATING);
  
      if (this.isInitialized()) {
        throw new IllegalStateException("Torrent was already initialized!");
      }
  
      hashSingleThread();
  
      this.initialized = true;
    }
docs: Build this torrent's pieces array.
  <p/>
  <p>
  Hash and verify any potentially present local data and create this
  torrent's pieces array from their respective hash provided in the
  torrent meta-info.
  </p>
  <p/>
  <p>
  This function should be called soon after the constructor to initialize
  the pieces array.
  </p>