final String imagePath, final Class<D> datastoreClass,
final Class<? extends AbstractFileBasedDatastoreDialog<D>> dialogClass) {
final ImageIcon icon = imageManager.getImageIcon(imagePath);
final JButton button = WidgetFactory.createImageButton(icon);
final DCPopupBubble popupBubble = new DCPopupBubble(_glassPane, "<html><b>" + title + "</b><br/>" + description
+ "</html>", 0, 0, imagePath);
popupBubble.attachTo(button);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
Injector injectorWithNullDatastore = _injectorBuilder.with(datastoreClass, null).createInjector();