@Override
    public synchronized void putCharacter(char c)
    {
        characterMap[textPosition.getRow()][textPosition.getColumn()] =
                new TerminalCharacter(c, currentForegroundColor, currentBackgroundColor, currentlyBold, currentlyBlinking, currentlyUnderlined);
        if(textPosition.getColumn() == size().getColumns() - 1 &&
                textPosition.getRow() == size().getRows() - 1)
            moveCursor(0, textPosition.getRow());
        if(textPosition.getColumn() == size().getColumns() - 1)
            moveCursor(0, textPosition.getRow() + 1);
        else
            moveCursor(textPosition.getColumn() + 1, textPosition.getRow());
    }