From 578f465f897e302e82865d3782e29de7a893b3d6 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Tue, 17 Nov 2009 13:39:02 +0300 Subject: [PATCH] optimization --- .../util/src/com/intellij/openapi/util/objectTree/ObjectTree.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/platform/util/src/com/intellij/openapi/util/objectTree/ObjectTree.java b/platform/util/src/com/intellij/openapi/util/objectTree/ObjectTree.java index 977d2346ca..ee37a4682f 100644 --- a/platform/util/src/com/intellij/openapi/util/objectTree/ObjectTree.java +++ b/platform/util/src/com/intellij/openapi/util/objectTree/ObjectTree.java @@ -68,10 +68,10 @@ public final class ObjectTree { public final void register(T parent, T child) { synchronized (treeLock) { - checkValid(child); + final ObjectNode childNode = getOrCreateNodeFor(child); + checkValid(childNode, child); final ObjectNode parentNode = getOrCreateNodeFor(parent); - final ObjectNode childNode = getOrCreateNodeFor(child); ObjectNode childParent = childNode.getParent(); if (childParent != parentNode && childParent != null) { @@ -90,8 +90,7 @@ public final class ObjectTree { } } - private void checkValid(T child) { - ObjectNode childNode = getNode(child); + private void checkValid(ObjectNode childNode, T child) { boolean childIsInTree = childNode != null && childNode.getParent() != null; if (!childIsInTree) return; -- 2.11.4.GIT