/** * Projects the objects in the given iterable by converting each of them in a set of key/value pairs. * Actually it handles also Maps, Arrays and Iterator by collecting their values. * Note that this method accepts an Object in order to be used in conjunction with the {@link Lambda#forEach(Iterable)}. * @param iterable The iterable containing the objects to be projected * @param projectors The converters that define how each object should be projected * @return A list of map where each map is the result of the projection of an object in the iterable */ public static <F> List<Map<String, Object>> project(Object iterable, Converter<F, Map.Entry<String, Object>>... projectors) { return convert(iterable, new ProjectConverter<F>(projectors)); }