<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
public class Tree&lt;T&gt; {
	private T value;
	private Tree&lt;T&gt; left, right;

	public Tree(T value) {
		this.value= value;
	}

	public Tree(T value, Tree&lt;T&gt; left, Tree&lt;T&gt; right) {
		this.value= value;
		this.left= left;
		this.right= right;
	}

	public T getValue() {
		return value;
	}

	public Tree&lt;T&gt; getLeft() {
		return left;
	}

	public Tree&lt;T&gt; getRight() {
		return right;
	}

	private int safeSize(Tree&lt;T&gt; t) {
		return t == null ? 0 : t.size();
	}

	public int size() {
		return 1 + safeSize(left) + safeSize(right);
	}

	private boolean safeContains(Tree&lt;T&gt; t, T v) {
		return t == null ? false : t.contains(v);
	}

	public boolean contains(T v) {
		return value.equals(v) || safeContains(left, v) || safeContains(right, v);
	}

}
</pre></body></html>