import gen.*; import edu.neu.ccs.demeterf.*; class Magic extends Bc { // magically replace apples by oranges and vice versa // and keep the rest of the structure the same Orange combine(Apple a){return new Orange();} Apple combine(Orange o){return new Apple();} public static Start magic(Start s){ return new Traversal(new Magic()). traverse(s); } }