@Override
public void initSelection() {
Set<Node> nodesToSelect = new HashSet<Node>();
for (Object selected : fSelection) {
if (selected instanceof Edge) {
Edge edge = (Edge) selected;
nodesToSelect.add(edge.source());
nodesToSelect.add(edge.target());
} else if (selected instanceof Node) {
Node node = (Node) selected;
for (EdgeCursor ec = node.edges(); ec.ok(); ec.next()) {
Edge edge = ec.edge();
if (edge.source() != node) {
nodesToSelect.add(edge.source());
} else if (edge.target() != node) {
nodesToSelect.add(edge.target());
}
}
}
}