@Override
	public Set<Annotation> annotations() {
		Map<Location, Integer> coloring = new HashMap<Location, Integer>();
		
		Collection<Node> frontier = new ArrayList<Node>();
		Collection<Node> visited  = new HashSet<Node>();
		
		frontier.add(new Node(hunter.location(), 0));
		while(!frontier.isEmpty()) {
			Node node = Groups.first(frontier);
			
			frontier.remove(node);
			visited.add(node);
			
			float scale = 1.0f / node.depth;
			coloring.put(node.location, node.depth);
			
			for(Location neighbor : grid.neighbors(node.location, grid.ORTHOGONAL)) {
				Node next = new Node(neighbor, node.depth + 1);
				if(!visited.contains(next) && !frontier.contains(next)) {
					frontier.add(next);
				}
			}
		}
			
	
		Set<Annotation> ret = new HashSet<Annotation>();
		//ret.add(new GridAnnotation(coloring, new Color(1.0f, 1.0f, 1.0f), new Color(0.0f, 0.0f, 1.0f)));
		//ret.add(new GridAnnotation(coloring, new Color(1.0f, 0.0f, 0.0f), new Color(1.0f, 1.0f, 1.0f)));
		ret.add(new GridAnnotation(coloring, new Color(1.0f, 0.0f, 0.0f), new Color(0.0f, 0.0f, 1.0f)));
		return ret;
	}