Do we really need to pass in the chain here?  Can we extract it from the exception in this method instead?