docs: private void initGUI() {
  
          Font fFont = new Font("Dialog", Font.PLAIN, 12);
  
          setLayout(new BorderLayout());
  
          Panel p = new Panel();
  
          p.setBackground(SystemColor.control);
          p.setLayout(new GridLayout(16, 1));
  
          tSourceTable = new TextField();
  
          tSourceTable.setEnabled(false);
  
          tDestTable = new TextField();
  
          tDestTable.addActionListener(this);
  
          tDestDrop = new TextField();
  
          tDestDrop.addActionListener(this);
  
          tDestCreate = new TextField();
  
          tDestCreate.addActionListener(this);
  
          tDestDelete = new TextField();
  
          tDestDelete.addActionListener(this);
  
          tDestCreateIndex = new TextField();
  
          tDestCreateIndex.addActionListener(this);
  
          tDestDropIndex = new TextField();
  
          tDestDropIndex.addActionListener(this);
  
          tSourceSelect = new TextField();
  
          tSourceSelect.addActionListener(this);
  
          tDestInsert = new TextField();
  
          tDestInsert.addActionListener(this);
  
          tDestAlter = new TextField();
  
          tDestAlter.addActionListener(this);
  
          cTransfer = new Checkbox("Transfer to destination table", true);
  
          cTransfer.addItemListener(this);
  
          cDrop = new Checkbox("Drop destination table (ignore error)", true);
  
          cDrop.addItemListener(this);
  
          cCreate = new Checkbox("Create destination table", true);
  
          cCreate.addItemListener(this);
  
          cDropIndex = new Checkbox("Drop destination index (ignore error)",
                                    true);
  
          cDropIndex.addItemListener(this);
  
          cIdxForced = new Checkbox("force Idx_ prefix for indexes names",
                                    false);
  
          cIdxForced.addItemListener(this);
  
          cCreateIndex = new Checkbox("Create destination index", true);
  
          cCreateIndex.addItemListener(this);
  
          cDelete = new Checkbox("Delete rows in destination table", true);
  
          cDelete.addItemListener(this);
  
          cInsert = new Checkbox("Insert into destination", true);
  
          cInsert.addItemListener(this);
  
          cFKForced = new Checkbox("force FK_ prefix for foreign key names",
                                   false);
  
          cFKForced.addItemListener(this);
  
          cAlter = new Checkbox("Alter destination table", true);
  
          cAlter.addItemListener(this);
          p.add(createLabel("Source table"));
          p.add(tSourceTable);
          p.add(cTransfer);
          p.add(tDestTable);
          p.add(cDrop);
          p.add(tDestDrop);
          p.add(cCreate);
          p.add(tDestCreate);
          p.add(cDropIndex);
          p.add(tDestDropIndex);
          p.add(cCreateIndex);
          p.add(tDestCreateIndex);
          p.add(cDelete);
          p.add(tDestDelete);
          p.add(cAlter);
          p.add(tDestAlter);
          p.add(createLabel("Select source records"));
          p.add(tSourceSelect);
          p.add(cInsert);
          p.add(tDestInsert);
          p.add(createLabel(""));
          p.add(createLabel(""));
          p.add(cIdxForced);
          p.add(cFKForced);
          p.add(createLabel(""));
          p.add(createLabel(""));
  
          if (iTransferMode == TRFM_TRANSFER) {
              bStart    = new Button("Start Transfer");
              bContinue = new Button("Continue Transfer");
  
              bContinue.setEnabled(false);
          } else if (iTransferMode == Transfer.TRFM_DUMP) {
              bStart = new Button("Start Dump");
          } else if (iTransferMode == Transfer.TRFM_RESTORE) {
              bStart = new Button("Start Restore");
          }
  
          bStart.addActionListener(this);
          p.add(bStart);
  
          if (iTransferMode == TRFM_TRANSFER) {
              bContinue.addActionListener(this);
              p.add(bContinue);
          }
  
          bStart.setEnabled(false);
          fMain.add("Center", createBorderPanel(p));
  
          lTable = new java.awt.List(10);
  
          lTable.addItemListener(this);
          fMain.add("West", createBorderPanel(lTable));
  
          tMessage = new TextField();
  
          Panel pMessage = createBorderPanel(tMessage);
  
          fMain.add("South", pMessage);
      }