void (final List<MessageTreeNode> messages, boolean temporary) { myCachedAllChildren = null; List<MessageTreeNode> toDelete = temporary ? myTemporaryMessageChildren : myMessageChildren; if (toDelete != null) { fireNodesRemoved(getNodesIndices(toDelete), toDelete.toArray(new TreeNode[0])); } if (temporary) { myTemporaryMessageChildren = messages; } else { myMessageChildren = messages; } myCachedAllChildren = null; fireNodesInserted(messages); }