A tree data structure for Java