TreeNode () { if (disposed || !isValidThread()) return null; if (!root.isValid()) { Node newRoot = getValidRoot(); root.set(newRoot); if (LOG.isTraceEnabled()) LOG.debug("root updated: ", newRoot); } return root.get(); }