@WithAnnotations currently used to filter out that should not be wrapped with validation proxy is not checking for annotations on implemented interfaces and on super classes. Hence in cases like:
ShipmentServiceImpl will not be proxied and no validation will be performed on its method calls. a discussion from weld-dev mailing list has some additional information (could be found here).
Based on this we need to remove the usage of this annotation and add our own filter.