Acts as a factory for
ExceptionToErrorCode implementations.
By calling the
of(Exception) factory method, clients can
find the corresponding
ErrorCode for the given
Exception. Behind the scenes, this factory method, first finds
all available implementations of the
ExceptionToErrorCode
strategy interface. Then selects the first implementation that can actually
handles the given exception and delegate the exception translation process
to that implementation.