The cause of this traceback was that a `Resource(None)` object was being created.
While this ''could'' be used for representing the fact that there's actually no real resource associated to the check, it's better to explicitly use `None` for that, as it's already done in other parts of the code.
Therefore the `Resource.__new__` method has been adjusted to take care of this special case. The documentation for that method as well as the unit tests have been expanded a bit.