public void showDwarfData(Dwarf dwarf) throws BadLocationException
    {
        doc.remove(0, doc.getLength());

        doc.insertString(doc.getLength(), "ID: "    + 	dwarf.getId() + "\n", stylePlain);
        doc.insertString(doc.getLength(), "Name: ", stylePlain);
        doc.insertString(doc.getLength(), dwarf.getCasedName() + "\n", styleBold);
        doc.insertString(doc.getLength(), "Gender: "+ 	dwarf.getCasedGender() + "\n", stylePlain);

        doc.insertString(doc.getLength(), "Mother: ", stylePlain);
        if(dwarf.getMother() != null)
        {
            Style regularBlue = textArea.addStyle("regularBlue", StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE));
            StyleConstants.setForeground(regularBlue, Color.BLUE);
            StyleConstants.setUnderline(regularBlue, true);
            regularBlue.addAttribute("linkact", new ChildrenLinkListener(dwarf.getMother().getName(), this));
            
            doc.insertString(doc.getLength(), dwarf.getMother().getCasedName() + "\n", regularBlue);
        }
        else doc.insertString(doc.getLength(), "unknown\n", stylePlain);

        doc.insertString(doc.getLength(), "Father: ", stylePlain);
        if(dwarf.getFather() != null)
        {
            Style regularBlue = textArea.addStyle("regularBlue", StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE));
            StyleConstants.setForeground(regularBlue, Color.BLUE);
            StyleConstants.setUnderline(regularBlue, true);
            regularBlue.addAttribute("linkact", new ChildrenLinkListener(dwarf.getFather().getName(), this));
            
            doc.insertString(doc.getLength(), dwarf.getFather().getCasedName() + "\n", regularBlue);
        }
        else doc.insertString(doc.getLength(), "unknown\n", stylePlain);

        doc.insertString(doc.getLength(), "Birth: " + dwarf.getBirthday() + " " + dwarf.getBirthyear() + "\n", stylePlain);
        doc.insertString(doc.getLength(), "Death: " + dwarf.getBirthday() + " " + dwarf.getDeathyear() + "\n", stylePlain);

        if(dwarf.getChildren() != null && dwarf.getChildren().size() > 0)
        {
            doc.insertString(doc.getLength(), "Children: \n", stylePlain);
            for(int i=0; i<dwarf.getChildren().size(); i++)
            {
                Style regularBlue = textArea.addStyle("regularBlue", StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE));
                StyleConstants.setForeground(regularBlue, Color.BLUE);
                StyleConstants.setUnderline(regularBlue, true);
                regularBlue.addAttribute("linkact", new ChildrenLinkListener(dwarf.getChildren().get(i).getName(), this));
            
                doc.insertString(doc.getLength(), "\t", stylePlain);
                doc.insertString(doc.getLength(), dwarf.getChildren().get(i).getCasedName() + "\n", regularBlue);
            }
        }
        else
        {
            doc.insertString(doc.getLength(), "No offspring.\n", stylePlain);
        }
    }