private List<Position> removeObstaclesFromPositionList(List<Position> positions) {
		final List<Position> newPositions = new ArrayList<Position>(positions);

		for (Position pos : positions)
			for (Element e : getGrid().getElementsOnPosition(pos))
				if (e instanceof Obstacle && ((Obstacle) e).isObstacle(this))
					newPositions.remove(pos);

		return newPositions;
	}