class ConcurrentFileLineConsumer implements LineConsumer {

  @Override
  public void close() throws IOException {
    if (isOpen) {
      lock.writeLock().lock();
      try {
        isOpen = false;
        writer.close();
      } finally {
        lock.writeLock().unlock();
      }
    }
  }

  public  ConcurrentFileLineConsumer(File file);

}