implemented support for data annotation.
cannot be used in conjunction with assertIfPossible.
AbstractionTest1 and AbstractionTest2 are passing.