code: public static void closeAll(Iterable<? extends AutoCloseable> closeables) throws Exception {
  		if (null != closeables) {
  
  			Exception collectedExceptions = null;
  
  			for (AutoCloseable closeable : closeables) {
  				try {
  					if (null != closeable) {
  						closeable.close();
  					}
  				} catch (Exception e) {
  					collectedExceptions = ExceptionUtils.firstOrSuppressed(collectedExceptions, e);
  				}
  			}
  
  			if (null != collectedExceptions) {
  				throw collectedExceptions;
  			}
  		}
  	}
docs: Closes all {@link AutoCloseable} objects in the parameter, suppressing exceptions. Exception will be emitted
  after calling close() on every object.
  
  @param closeables iterable with closeables to close.
  @throws Exception collected exceptions that occurred during closing