@Override
	public Iterator<LatticePoint> getChildren(boolean unvisited) {
		List<LatticePoint> ret = new ArrayList<LatticePoint>();
		
		if (!this.top.isEdge 	&& this.top.visited == unvisited) 		ret.add(this.top);
		if (!this.bottom.isEdge && this.bottom.visited == unvisited) 	ret.add(this.bottom);
		if (!this.left.isEdge 	&& this.left.visited == unvisited) 		ret.add(this.left);
		if (!this.right.isEdge 	&& this.right.visited == unvisited) 	ret.add(this.right);
		
		return ret.iterator();
	}