add checkSupportOrThrowException method with more verbose exceptions