public Object open(final int coordX, final int coordY) {       
        try {
            fr = new BufferedReader(new FileReader(new File(pathToDiagramsLogFile)));
            lines = new ArrayList<String>();
            String line;
            while ((line = fr.readLine()) != null) {
                lines.add(line.replaceAll("\t+", "           "));
            }            
            parsedLines = parseLines(lines);
            
        } catch (FileNotFoundException e) {
            MainWindow.showMessage(Messages.TIME_DIAGRAMS_COULD_NOT_OPEN_LOGFILE + this.pathToDiagramsLogFile, "Error");
            e.printStackTrace();
        } catch (IOException e1) {
            MainWindow.showMessage(Messages.TIME_DIAGRAMS_COULD_NOT_READ_LOGFILE + this.pathToDiagramsLogFile, "Error");
            e1.printStackTrace();
        }

        createContents(coordX, coordY);  
        
        timeDiagramsShell.open();
        isVisible = true;
        MainWindow.status(Messages.TIME_DIAGRAMS_OPEN);
        timeDiagramsShell.layout();
        Display display = getParent().getDisplay();
        while (!timeDiagramsShell.isDisposed()) {
            if (!display.readAndDispatch()) {
                display.sleep();
            }
        }
        return null;
    }