Entry entryForNode(Node key) { EntrySupportLazyState state = internal.get(); for (Map.Entry<Entry, EntryInfo> entry : state.getEntryToInfo().entrySet()) { if (entry.getValue().currentNode() == key) { return entry.getKey(); } } return null; }
@Override public Node[] testNodes() { EntrySupportLazyState state = internal.get(); if (!state.isInited()) { return null; } List<Node> created = new ArrayList<Node>(); try { Children.PR.enterReadAccess(); for (Entry entry : notNull(state.getVisibleEntries())) { EntryInfo info = state.getEntryToInfo().get(entry); Node node = info.currentNode(); if (node != null) { created.add(node); } } } finally { Children.PR.exitReadAccess(); } return created.isEmpty() ? null : created.toArray(new Node[created.size()]); }
previousInfos = new HashMap<Entry, EntryInfo>(oldState2Info); Node node = info.currentNode(); if (!info.isHidden() && node != null && !isDummyNode(node)) { if (removedNodes == null) {
Node oldNode = info.currentNode(); EntryInfo newInfo = null; Node newNode = null;
for (Entry entry : notNull(state.getVisibleEntries())) { EntryInfo info = state.getEntryToInfo().get(entry); if (info.currentNode() != null) { cnt++; break;
@Override public Node get(Entry entry) { EntryInfo info = entryToInfo.get(entry); Node node = info.currentNode(); if (node == null) { node = info.getNode(false, origSnapshot); } if (isDummyNode(node)) { // force new snapshot hideEmpty(null, entry); } return node; } }