protected RescueDescriptor GetRescueFor(IList rescues, Type exceptionType)
{
if (rescues == null || rescues.Count == 0) return null;
RescueDescriptor bestCandidate = null;
foreach(RescueDescriptor rescue in rescues)
{
if (rescue.ExceptionType == exceptionType)
{
return rescue;
}
else if (rescue.ExceptionType != null &&
rescue.ExceptionType.IsAssignableFrom(exceptionType))
{
bestCandidate = rescue;
}
}
return bestCandidate;
}