code: @SuppressWarnings("unchecked")
      public static <T> Function<T, T> compose(final Function<T, T> ... func) {
          return new Function<T, T>() {
              public T apply(final T arg) {
                  T result = arg;
                  for (int index = func.length - 1; index >= 0; index -= 1) {
                      result = func[index].apply(result);
                  }
                  return result;
              }
          };
      }
docs: /*
  Documented, #compose