SWT Jface Eclipse Java

/*
 * Program example snippet: find the icon of the program that edits .bmp files
 *
 * For a list of all SWT example snippets see
 * http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/dev.html#snippets
 */
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.program.Program;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
public class Snippet32 {
public static void main (String [] args) {
  Display display = new Display ();
  Shell shell = new Shell (display);
  Label label = new Label (shell, SWT.NONE);
  label.setText ("Can't find icon for .bmp");
  Image image = null;
  Program p = Program.findProgram (".bmp");
  if (p != null) {
    ImageData data = p.getImageData ();
    if (data != null) {
      image = new Image (display, data);
      label.setImage (image);
    }
  }
  label.pack ();
  shell.pack ();
  shell.open ();
  while (!shell.isDisposed()) {
    if (!display.readAndDispatch ()) display.sleep ();
  }
  if (image != null) image.dispose ();
  display.dispose ();
}
}