Type-constraining a criteria beyond the definition of a component is not allowed unless it is type constrained to the same ...

Type-constraining a criteria beyond the definition of a component is not allowed unless 
it is type constrained to the same type for all properties. 
This criteria type constrains the component that uses relationship {0} beyond the scope of its definition. The path
in the component targets {1} as the endpoint. All properties in the criteria that are targeted to this 
component must target at type {1} with or without using a type constraint. If they target a type 
different than {1}, they must still target 
one single type for all properties. If you have one or more abstract classes in the criteria that are
type constrained and some that are not, consider applying the same type constraint to all.