Sublis in Java
public static Object
sublis(Cons alist, Object tree) {
if ( consp(tree) )
return cons(sublis(alist,
first((Cons) tree)),
(Cons) sublis(alist,
rest((Cons) tree)));
if ( tree == null ) return null;
Cons pair = assoc(tree, alist);
return ( pair == null ) ? tree
: second(pair); }