/** * Gathers all LINKS we can travel through from 'searchNode'. * * @param graph * @param searchNode * @return */ protected Collection<LINK> getLinks(SEARCH_NODE searchNode) { NODE node = (NODE) searchNode.node; Collection<LINK> origLinks = (Collection<LINK>) node.getLinks(); if (view == null) { return origLinks; } NODE from = (NODE) searchNode.node; Collection<LINK> extraLinks = view.getExtraLinks(searchNode, origLinks); List<LINK> result = new ArrayList<LINK>(origLinks.size() + (extraLinks == null ? 0 : extraLinks.size())); if (origLinks != null) { for (LINK link : origLinks) { if (view == null || !view.isLinkOpened(from, link)) continue; // LINK IS OPENED result.add(link); } } if (extraLinks != null) { for (LINK link : extraLinks) { if (view == null || !view.isLinkOpened(from, link)) continue; // LINK IS OPENED result.add(link); } } return result; }