private JButton getJButtonStart() {
		if (jButtonStart == null) {
			jButtonStart = new JButton();
			jButtonStart.setText("Start parsing");
			jButtonStart.setEnabled(true);
			jButtonStart.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					try
					{
						FileInputStream sourceFile = new FileInputStream(new File(jTextFieldSourceFilename.getText()));
						InputStreamReader input = new InputStreamReader(sourceFile, "UTF-8");
						
						FileInputStream dictFile = new FileInputStream(new File(jTextFieldSpellDictionaryFilename.getText()));
						InputStreamReader dictInput = new InputStreamReader(dictFile, "UTF-8");
						
						FileOutputStream outputFile = new FileOutputStream(new File(jTextFieldOutputfilename.getText()));
						OutputStreamWriter output = new OutputStreamWriter(outputFile, "UTF-8");
						mThread = new ParserThread(input, sourceFile.available(), dictInput, dictFile.available(), output, MainForm.this, jTextFieldPossibleLetters.getText(), jTextFieldInnerCharacters.getText(), 
								jSliderWordsCount.getValue());
						jButtonStart.setEnabled(false);
						jLabelProgress.setText("Starting parser thread");
						mThread.start();
					}
					catch(Exception ex)
					{
						ex.printStackTrace();
						showAlertDialog("Error", "Failed to start parser: "+ex.getMessage(), true);
					}
				}
			});
		}
		return jButtonStart;
	}