@@ -0,0 +1,1222 @@
+class StringAVLNodeXtra extends StringAVLNode %7B%0A%09private String item;%0A%09public StringAVLNodeXtra(String s) %7B%0A%09%09super(s);%0A%09%09item = s;%0A%09%7D%0A%0A%09public final static StringAVLNodeXtra upgrade(StringAVLNode n) %7B%0A%09%09StringAVLNodeXtra copy = new StringAVLNodeXtra(n.getItem());%0A%09%09copy.setBalance(n.getBalance());%0A%09%09copy.setLeft(n.getLeft());%0A%09%09copy.setRight(n.getRight());%0A%09%09return copy;%0A%09%7D%0A%09%0A    int getDepth() %7B%0A        return getDepth(this);%0A    %7D%0A        %0A    private static int getDepth(StringAVLNode nodeIn) %7B%09%0A        int depth;%0A        if (nodeIn == null) depth = 0;%0A        else %7B%0A        %09nodeIn = StringAVLNodeXtra.upgrade(nodeIn);%0A        %09depth = 1 + Math.max(getDepth(nodeIn.getLeft()), getDepth(nodeIn.getRight()));%0A        %7D%0A        return depth;%0A    %7D%0A    %0A    // this will give the first three characters of a String, %0A     //precedded by spaces if string is shorter than 3%0A    String getFirstThreeChar() %7B%0A        String rtn = %22%22;%0A        if (getItem().length() %3E= 3) rtn = getItem().substring(0,3);%0A        else if (getItem().length() == 2) rtn = %22 %22 + getItem();%0A        else if (getItem().length() == 1) rtn = %22  %22 + getItem();%0A        else if (getItem().length() == 0) rtn = %22   %22;%0A        return rtn;%0A    %7D%0A%0A%0A%7D%0A

Create StringAVLNodeXtra.java