Javadoc
This method is called in two different scenarios. With a null theResource, it determines whether database matching might be required.
Otherwise, it tries to perform the match in-memory, returning UNSUPPORTED if it's not possible.
Note that there will be cases where it returns UNSUPPORTED with a null resource, but when a non-null resource it returns supported and no match.
This is because an earlier parameter may be matchable in-memory in which case processing stops and we never get to the parameter
that would have required a database call.