@Override
	public Node<T> getParent(Node<T> n) {
		if (safety && !contains(n)) {
			throw new NodeNotFoundException();
		} else if (n == null) {
			return null;
		}
		for (Node<T> tn : this) {
			Iterator<Node<T>> children = children(tn);
			while (children.hasNext()) {
				Node<T> child = children.next();
				if (child.equals(n)) {
					return tn;
				}
			}
		}
		return null;
	}