code: public WriterPoolMember borrowFile()
      throws IOException {
          WriterPoolMember writer = null;
          while(writer == null) {
              try {
                  writer = availableWriters.poll(maxWait,TimeUnit.MILLISECONDS);
              } catch (InterruptedException e) {
                  // nothing to do but proceed
              }
              if(writer==null) {
                  writer = makeNewWriterIfAppropriate(); 
              }
          }
          return writer;
      }
docs: Check out a {@link WriterPoolMember}.
  
  This method should be followed by a call to
  {@link #returnFile(WriterPoolMember)} or
  {@link #invalidateFile(WriterPoolMember)} else pool starts leaking.
  
  @return Writer checked out of a pool of files or created
  @throws IOException Problem getting Writer from pool (Converted
  from Exception to IOException so this pool can live as a good citizen
  down in depths of ARCSocketFactory).