void (@NotNull String descriptorType, @NotNull List<? extends FileSetDescriptor> descriptors) { myDescriptors.removeIf(descriptor -> descriptorType.equals(descriptor.getType())); myDescriptors.addAll(descriptors); Collections.sort(myDescriptors, (d1, d2) -> { int result = StringUtil.compare(d1.getType(), d2.getType(), false); if (result != 0) return result; result = StringUtil.compare(d1.getName(), d2.getName(), false); if (result != 0) return result; return StringUtil.compare(d1.getPattern(), d2.getPattern(), false); }); }