An exception which indicates that a Matcher matched multiple views in the hierarchy when
only one view was expected. It should be called only from the main thread.

Contains details about the matcher and the current view hierarchy to aid in debugging.

Since this is usually an unrecoverable error this exception is a runtime exception.

References to the view and failing matcher are purposefully not included in the state of this
object - since it will most likely be created on the UI thread and thrown on the instrumentation
thread, it would be invalid to touch the view on the instrumentation thread. Also the view
hierarchy may have changed since exception creation (leading to more confusion).