private static @Nullable List<String> extractPath(@NotNull EditorSchemeAttributeDescriptor descriptor) {
    if (descriptor instanceof EditorSchemeAttributeDescriptorWithPath) {
      String name = descriptor.toString();
      List<String> path = new ArrayList<>();
      int separatorStart = name.indexOf(getNameSeparator());
      int nextChunkStart = 0;
      while(separatorStart > 0) {
        path.add(name.substring(nextChunkStart, separatorStart));
        nextChunkStart = separatorStart + getNameSeparator().length();
        separatorStart = name.indexOf(getNameSeparator(), nextChunkStart);
      }
      if (nextChunkStart < name.length()) {
        path.add(name.substring(nextChunkStart));
      }
      return path;
    }
    return null;
  }
private static @Nullable List<String> extractPath(@NotNull EditorSchemeAttributeDescriptor descriptor)