void () { final long now = System.nanoTime(); final int newChildrenCount = myChildren.size(); if (newChildrenCount >= FILTERING_CHUNK_SIZE || (newChildrenCount > 0 && now - myLastTreeUpdatingTime > TimeUnit.SECONDS.toNanos(MAX_DURATION_TO_UPDATE_TREE_SECONDS))) { final XValueChildrenList children = myChildren; ApplicationManager.getApplication().invokeLater(() -> myInstancesTree.addChildren(children, false)); myChildren = new XValueChildrenList(); myLastTreeUpdatingTime = System.nanoTime(); } }