private void setTool(ToolButton toolButtonToSet) {
    if (tool != null) {
      tool.onSelectAnotherTool();
    }
    tool = toolButtonToSet.tool;
    toolPropertiesPanel.removeAll();
    toolPropertiesPanel.revalidate();
    toolPropertiesPanel.repaint();
    toolPropertiesPanel.add(toolButtonToSet.propertiesPanel);
    toolPropertiesPanel.revalidate();
    toolPropertiesPanel.repaint();

    for (ToolButton button : buttonList) {
      button.setSelected(false);
    }
    toolButtonToSet.setSelected(true);
    toolPropertiesPanel.revalidate();
    toolPropertiesPanel.repaint();
  }