J2ME Java

//jad file (please verify the jar size)
/*
MIDlet-Name: DisplayAlert
MIDlet-Version: 1.0
MIDlet-Vendor: MyCompany
MIDlet-Jar-URL: DisplayAlert.jar
MIDlet-1: DisplayAlert, , DisplayAlert
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
MIDlet-JAR-SIZE: 100
*/
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class DisplayAlert extends MIDlet implements CommandListener {
  private Display display;
  private Alert alert;
  private Form form = new Form("Throw Exception");
  private Command exit = new Command("Exit", Command.SCREEN, 1);
  private boolean exitFlag = false;
  public DisplayAlert() {
    display = Display.getDisplay(this);
    form.addCommand(exit);
    form.setCommandListener(this);
  }
  public void startApp() {
    display.setCurrent(form);
  }
  public void pauseApp() {
  }
  public void destroyApp(boolean unconditional) throws MIDletStateChangeException {
    if (unconditional == false) {
      throw new MIDletStateChangeException();
    }
  }
  public void commandAction(Command command, Displayable displayable) {
    if (command == exit) {
      try {
        if (exitFlag == false) {
          alert = new Alert("Busy", "Please try again.", null, AlertType.WARNING);
          alert.setTimeout(Alert.FOREVER);
          display.setCurrent(alert, form);
          destroyApp(false);
        } else {
          destroyApp(true);
          notifyDestroyed();
        }
      } catch (Exception exception) {
        exitFlag = true;
      }
    }
  }
}