StructureTreeModel and AsyncTreeModel are both provided with the project as disposable. The SDK documentation states the Project should not be used as disposable because this causes memory leaks:
Even though Application and Project implement Disposable, they must NEVER be used as parent disposables in plugin code. Disposables registered using those objects as parents will not be disposed when the plugin is unloaded, leading to memory leaks.
related to https://github.com/redhat-developer/intellij-kubernetes/issues/498
TreeHelper.buildModel
was needed back then when our least supported version was 2018. We're now requiring at least 2021.1 see here: https://github.com/redhat-developer/intellij-common/blob/main/src/main/java/com/redhat/devtools/intellij/common/tree/StructureTreeModelFactory.java#L39StructureTreeModel
andAsyncTreeModel
are both provided with theproject
as disposable. The SDK documentation states theProject
should not be used as disposable because this causes memory leaks: