code: protected void blockFinished(BlockEncodeRequest ber) {
      assert(flacStreamIsOpen);
      blockFinishedLock.lock();
      try {
          writeFinishedBlock(ber);
      }catch(IOException e) {
        error = true;
        if(childException != null)
          childException = e;
      }
      finally {
        blockFinishedLock.unlock();
      }
    }
docs: Notify the encoder that a BlockEncodeRequest has finished, and is now
  ready to be written to file. The encoder expects that these requests come
  back in the same order the encoder sent them out. This is intended to
  be used in threading mode only at the moment(sending them to a
  BlockThreadManager object)
  
  @param ber BlockEncodeRequest that is ready to write to file.