ExceptionSet union = new ExceptionSet();
ExceptionSet union = exceptionSetFactory.createExceptionSet();
	protected Type mergeReferenceTypes(ReferenceType aRef, ReferenceType bRef) throws DataflowAnalysisException {		// Two concrete object types.		// According to the JVM spec, 2nd edition, 4.9.2,		// the result of merging types is the "first common superclass".		// Interfaces are NOT considered!		// This will use the Repository to look up classes.		try {			// Special case: ExceptionObjectTypes.			// We want to preserve the ExceptionSets associated,			// in order to track the exact set of exceptions			if (aRef instanceof ExceptionObjectType || bRef instanceof ExceptionObjectType) {				ExceptionSet union = new ExceptionSet();				updateExceptionSet(union, aRef);				updateExceptionSet(union, bRef);				return ExceptionObjectType.fromExceptionSet(union);			}			return aRef.getFirstCommonSuperclass(bRef);		} catch (ClassNotFoundException e) {			lookupFailureCallback.reportMissingClass(e);			throw new DataflowAnalysisException("Repository lookup failure: " + e.toString(), e);		}	}