@@ -0,0 +1,754 @@
+package com.bbn.bue.common;%0A%0Aimport java.io.IOException;%0A%0A/**%0A * Utilities for working with %7B@link Finishable%7Ds%0A */%0Apublic final class Finishables %7B%0A  private Finishables() %7B%0A    throw new UnsupportedOperationException();%0A  %7D%0A%0A  /**%0A   * Calls %7B@link Finishable#finish()%7D on all objects provided which implement %7B@link Finishable%7D%0A   */%0A  public static void finishIfApplicable(Iterable%3C?%3E toFinish) throws IOException %7B%0A    for (final Object o : toFinish) %7B%0A      if (o instanceof Finishable) %7B%0A        ((Finishable) o).finish();%0A      %7D%0A    %7D%0A  %7D%0A%0A  /**%0A   * Calls %7B@link Finishable#finish()%7D on all objects provided%0A   */%0A  public static void finish(Iterable%3C? extends Finishable%3E toFinish) throws IOException %7B%0A    finishIfApplicable(toFinish);%0A  %7D%0A%7D%0A

Make it more convenenient to finish many finishables