IntersectionType it =  ct.getTypeVariable(name);
/*      IntersectionType it =  ct.getTypeVariable(name);
    protected Node disambiguateNoPrefix() throws SemanticException {               // First try local variables and fields        VarInstance vi = c.findVariableSilent(name);                if (vi != null && exprOK()){            Node n = disambiguateVarInstance(vi);            if (n != null) return n;        }        // no variable found. try        // might be a generic type parameter        JL5ParsedClassType ct = (JL5ParsedClassType)c.currentClass();                    if ((ct != null ) && ct.isGeneric()){            if (ct.hasTypeVariable(name)){                IntersectionType it =  ct.getTypeVariable(name);                return nf.CanonicalTypeNode(pos, it);            }        }        // may be a generic type param for method or constr        // header         if (c.inCode()){            CodeInstance ci = c.currentCode();            if (ci instanceof JL5MethodInstance && ((JL5MethodInstance)ci).isGeneric()){                if (((JL5MethodInstance)ci).hasTypeVariable(name)){                    return nf.CanonicalTypeNode(pos, ((JL5MethodInstance)ci).getTypeVariable(name));                }            }            else if (ci instanceof JL5ConstructorInstance && ((JL5ConstructorInstance)ci).isGeneric()){                if (((JL5ConstructorInstance)ci).hasTypeVariable(name)){                    return nf.CanonicalTypeNode(pos, ((JL5ConstructorInstance)ci).getTypeVariable(name));                }            }        }                if (typeOK()) {            try {                Named n = c.find(name);                if (n instanceof Type) {                    Type type = (Type) n;                    return nf.CanonicalTypeNode(pos, type);                }            } catch (NoClassException e) {                if (!name.equals(e.getClassName())) {                    // hmm, something else must have gone wrong                    // rethrow the exception                    throw e;                }                // couldn't find a type named name.                 // It must be a package--ignore the exception.            }        }        // Must be a package then...        if (packageOK()) {            return nf.PackageNode(pos, ts.packageForName(name));        }        return null;                 //Node result = null;        //if (result == null){            // make special AmbNoPrefix node and return it (it should             // extend Expr)            // later have a pass (after type checking) to deal with these            // nodes which may be an enum constant of the type of a             // switch expr (this situation may arise for case labels)            // otherwise as far as I know its an error                          //  result = ((JL5NodeFactory)nf).JL5AmbExpr(pos, name);        //}        //return result;    }