code: public final boolean isProperlyShutDown()
  	{
  		boolean readersShutDown = true;
  		for (int i = 0; i < this.readers.length; i++) {
  			readersShutDown &= this.readers[i].getState() == Thread.State.TERMINATED;
  		}
  		
  		boolean writersShutDown = true;
  		for (int i = 0; i < this.writers.length; i++) {
  			readersShutDown &= this.writers[i].getState() == Thread.State.TERMINATED;
  		}
  		
  		return this.isClosed && writersShutDown && readersShutDown;
  	}
docs: Utility method to check whether the IO manager has been properly shut down. The IO manager is considered
  to be properly shut down when it is closed and its threads have ceased operation.
  
  @return True, if the IO manager has properly shut down, false otherwise.