private void redrawTimeDiagrams() {

        GC gc = new GC(image);
        gc.setBackground(LIGHT_GRAY);

        gc.fillRectangle(0, 0, width, height); // залить слабо серым цветом прямоугольник

        int contactTextDistance = 9; // расстояние между левым краем и подписью контакта
        int distanceBetweenLines = 50; // расстояние между линиями

        int cursorPosition = 35; // начальный сдвиг курсора вниз по оси Y

        for (TreeItem element : getSelectedTreeItems()) { // каждый элемент            
            TreeItem parent = element.getParentItem();
            String contactLabel;

            if (parent == null) {
                contactLabel = element.getText();
            } else {
                contactLabel = parent.getText() + "=" + element.getText();
            }
            
            otrisovkaOdnoiDiagrammy(gc, contactTextDistance, cursorPosition, contactLabel);
            cursorPosition += distanceBetweenLines; // сдвинуть курсор вниз по оси Y к следующей линии
        }
        gc.dispose(); // обязательно сделать это в конце отрисовки!        
    }