@Override
	public Iterable<Entry<K, V>> entrySet() throws InvalidPositionException,
			BoundaryViolationException, EmptyTreeException {
		ArrayList<Entry<K, V>> ps = new ArrayList<>();
		if (size != 0)
			inOrderPositions(root(), ps);
		return ps;
	}