@Override
	public BinaryNodePS<T> addRightChild(Node<T> parent, T info) {
		if (!(parent instanceof BinaryNodePS)) {
			throw new DifferentNodeTypesException();
		} else if (isSafe() && !contains(parent)) {
			throw new NodeNotFoundException();
		}
		BinaryNodePS<T> bn = (BinaryNodePS<T>) parent;
		if (bn.getRight() != null) {
			throw new ExistingNodeException();
		}
		BinaryNodePS<T> child = new BinaryNodePS<T>(info);
		child.setParent(bn);
		bn.setRight(child);
		modified = true;
		size++;
		return child;
	}