void (JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { if (!(value instanceof DefaultMutableTreeNode)) { return; } myCheckbox.setBorder(null); //checkBox may have no border by default, but insets are not null, // it depends on LaF, OS and isItRenderedPane, see com.intellij.ide.ui.laf.darcula.ui.DarculaCheckBoxBorder. // null border works as expected always. ColoredTreeCellRenderer renderer = getTextRenderer(); renderer.setIpad(JBInsets.emptyInsets()); if (value instanceof RepositoryNode valueNode) { //todo simplify, remove instance of boolean isCheckboxVisible = valueNode.isCheckboxVisible(); myCheckbox.setVisible(isCheckboxVisible); if (!isCheckboxVisible) { // if we don't set right inset, "new" icon will be cropped renderer.setIpad(JBUI.insets(0, 10)); } if (valueNode.isChecked() && valueNode.isLoading()) { myCheckbox.setState(ThreeStateCheckBox.State.DONT_CARE); } else { myCheckbox.setSelected(valueNode.isChecked()); } } Object userObject = ((DefaultMutableTreeNode)value).getUserObject(); if (value instanceof CustomRenderedTreeNode) { if (tree.isEditing() && mySyncStrategy && value instanceof RepositoryNode) { //sync rendering all editable fields ((RepositoryNode)value).render(renderer, mySyncRenderedText); } else { ((CustomRenderedTreeNode)value).render(renderer); } } else { renderer.append(userObject == null ? "" : userObject.toString()); //NON-NLS } }