Because a subresource does not have to conform to the JAX-RS rules regarding constructors, the code should not be enforcing these rules on subresources.
Attached is a testcase to demo the problem. The hack I used to confirm that the runtime is enforcing the constructor rules on the subresource was to comment out the "continue L1;" call in AbstractMetadataCollector.parseConstructors
The fix will be to make the AbstractMetadataCollector aware of what type of resource it is operating on; top-level resource vs. subresource.
I'll work on this.