private boolean importFile() {
		File lastFile = fileChooser.getSelectedFile();
		boolean success = false;
		final Frame frame = JOptionPane.getFrameForComponent(this);
		fileChooser.setAcceptAllFileFilterUsed(false);
		fileChooser.addChoosableFileFilters(new String[] { "html", "txt" });
		fileChooser.setDialogType(JFileChooser.OPEN_DIALOG);
		fileChooser.setDialogTitle("Import");
		fileChooser.setApproveButtonMnemonic('O');
		String latestPath = fileChooser.getLastVisitedPath();
		if (latestPath != null)
			fileChooser.setCurrentDirectory(new File(latestPath));
		if (lastFile != null && !lastFile.isDirectory())
			fileChooser.handleFileTypeSwitching(lastFile);
		fileChooser.setAccessory(null);
		if (fileChooser.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION) {
			final File file = fileChooser.getSelectedFile();
			File dir = fileChooser.getCurrentDirectory();
			if (file.exists()) {
				if (FileFilterFactory.getFilter("html").accept(file)) {
					JOptionPane.showMessageDialog(frame, "Some HTML content may not be converted.", "Import HTML File", JOptionPane.INFORMATION_MESSAGE);
					HTMLConverter.insertHTMLFile(getStyledDocument(), getCaretPosition(), file);
				} else if (FileFilterFactory.getFilter("txt").accept(file)) {
					try {
						readPlainTextFile(file.getAbsolutePath());
					} catch (IOException e) {
						e.printStackTrace();
					}
				}
				fileChooser.rememberPath(dir.toString());
				success = true;
			} else {
				JOptionPane.showMessageDialog(frame, file + " does not exist.", "File does not exist", JOptionPane.ERROR_MESSAGE);
				fileChooser.resetChoosableFileFilters();
				return false;
			}

		}
		fileChooser.resetChoosableFileFilters();
		return success;
	}