/** * Builds an attribute map for an abstract initial state via a * {@link Factory} which can build an {@link Initializer}. * * @param initialState abstract initial state * @param initializerFactory translates initial state into an initializer * @return an attribute map initialized with the initial state */ public static <I> Map<String, String> buildAttributes(I initialState, Factory<?, ?, I> initializerFactory) { Map<String, String> attrs = CollectionUtils.newHashMap(); initializerFactory.createInitializer(initialState).initialize(attrs); return attrs; }