class PluginCreator implements IPluginCreator {

    @Override
    public IPlugin create(final Class clazz, final IBootstrap bootstrap)
            throws PluginCreationException {
        try {
            Constructor c = clazz.getDeclaredConstructor(new Class[]{IBootstrap.class});
            return (IPlugin) c.newInstance(new Object[]{bootstrap});
        } catch (Throwable e) {
            throw new PluginCreationException("Could not create instance of IPlugin", e);
        }
    }

}