List<XValueNodeImpl> (int initialSize) { XDebuggerPinToTopManager pinToTopManager = XDebuggerPinToTopManager.Companion.getInstance(myTree.getProject()); boolean needBaseSorting = !myAlreadySorted && XDebuggerSettingsManager.getInstance().getDataViewSettings().isSortValues(); boolean isPinToTopSupported = pinToTopManager.isEnabled() && pinToTopManager.isPinToTopSupported(this); if (!needBaseSorting && !isPinToTopSupported) { return new ArrayList<>(initialSize); } Comparator<XValueNodeImpl> comparator = needBaseSorting? isPinToTopSupported? pinToTopManager.getCompoundComparator() : XValueNodeImpl.COMPARATOR : pinToTopManager.getPinToTopComparator(); return new SortedList<>(comparator); }