@Override
	public List<Location> getPossibleMoves() {
		List<Location> possibles = getMoveSearchSpace();
		ListIterator<Location> possibilityIterator = possibles.listIterator();

		while (possibilityIterator.hasNext()) {
			Location location = possibilityIterator.next();
			if (location == null
					|| (checkAvailability(location) != UNOCCUPIED && checkAvailability(location) != ENEMY)) {
				possibilityIterator.remove();
			}
		}
		return possibles;
	}