added a HolderGenerator interface to make HolderOptimizer easier.