public void codeGen(Writer w, String indent) throws IOException {
        if(wildcard) {
            w.write(cons);
        } else { 
            w.write(cons);
        }
        if(superType!=null) {
            w.write(" extends ");
            superType.codeGen(w, indent);
        }
        if (params.length > 0) {
            w.write("<");

            params[0].codeGen(w, indent);
            for (int i = 1; i < params.length; i++) {
                w.write(",");
                params[i].codeGen(w, indent);
            }
            w.write(">");
        }
    }