if (catchType == null || catchType.equals(Type.THROWABLE)) {
if (Hierarchy.isUniversalExceptionHandler(catchType)) {
	private boolean reachable(Edge edge, ExceptionSet thrownExceptionSet)		throws ClassNotFoundException {		if (DEBUG) System.out.println("Checking reachability of edge:\n\t" + edge);		BasicBlock handlerBlock = edge.getTarget();		CodeExceptionGen handler = handlerBlock.getExceptionGen();		ObjectType catchType = handler.getCatchType();		if (catchType == null || catchType.equals(Type.THROWABLE)) {			// Universal handler: it catches all exceptions			thrownExceptionSet.sawUniversal();			return true;		}		String catchClassName = SignatureConverter.convert(catchType.getSignature());		boolean reachable = false;		// Go through the set of thrown execeptions.		// Any that will DEFINITELY be caught be this handler, remove.		// Any that MIGHT be caught, but won't definitely be caught,		// remain.		for (Iterator<ObjectType> i = thrownExceptionSet.iterator(); i.hasNext(); ) {			ObjectType thrownException = i.next();			String thrownClassName = SignatureConverter.convert(thrownException.getSignature());			if (DEBUG) System.out.println("\texception type " + thrownClassName + ", catch type " + catchClassName);			if (Hierarchy.isSubtype(thrownClassName, catchClassName)) {				// The thrown exception is a subtype of the catch type,				// so this exception will DEFINITELY be caught by				// this handler.				if (DEBUG) System.out.println("\tException is subtype of catch type: will definitely catch");				reachable = true;				i.remove();			} else if (Hierarchy.isSubtype(catchClassName, thrownClassName)) {				// The thrown exception is a supertype of the catch type,				// so it MIGHT get caught by this handler.				if (DEBUG) System.out.println("\tException is supertype of catch type: might catch");				reachable = true;			}		}		// Special case: if the handler is for an unchecked exception,		// and we haven't seen a universal handler, then assume		// the handler is reachable.		if (!thrownExceptionSet.sawUniversalHandler()			&& (Hierarchy.isSubtype(catchType, RUNTIME_EXCEPTION_TYPE) ||				Hierarchy.isSubtype(catchType, ERROR_TYPE)))			reachable = true;		if (DEBUG) System.out.println(reachable ? "\tReachable" : "\tNot reachable");		return reachable;	}