Question 4 ========== Reading undocumented code is challenging. What is the meaning of XYZ.xyz(Object o)? Explain in English what the method computes. Give a precondition and a post-condition that captures the meaning of the method. class XYZ extends IDba{ int update(NodeInt n, int i){ return i+1; } int combine(NodeInt t, int d, int l, int r){ return Math.max(l,r); } int combine(Object n, int i){ return i; } int combine(BSTInt n, int i){ return i; } static int xyz (Object o) { return new Traversal(new XYZ()). traverse(o,0); } }