@Override
	public Set<Long> getAdjacent(long vId) {
		// traverse through all incident edges and make unique add all vertices
		// except the own one
		Set<Long> vIds = new HashSet<>();
		// get all incident Edges to the given Vertice. All adjacent are subset
		// of the incidents
		Set<Long> incident = getIncident(vId);
		for (Long eId : incident) {
			// test all srcIDs if they are not equal the given ID and is not
			// already in the adjacent Set.
			long couldBeAdjc = edges.get(eId).getSrcVId();
			if (!vIds.contains(couldBeAdjc) && couldBeAdjc != vId) {
				vIds.add(couldBeAdjc);
			}
			// Same goes for Destination IDs
			couldBeAdjc = edges.get(eId).getDestVId();
			if (!vIds.contains(couldBeAdjc) && couldBeAdjc != vId) {
				vIds.add(couldBeAdjc);
			}
		}
		return vIds;
	}