Imagine simple setup: CubeA has a Copy Rotation constraint with CubeB as a target. CubeB has world's orientation. CubeA has different orientation (LocZ=GlobalX, LocX=GlobalY, LocY=GlobalZ). Constraint is set for World to Local Space copy. For now everything acts as expected (e.g. rotating CubeB around Z rotates CubeA around global X).
If I parent CubeA to CubeC everything changes: rotating CubeB affects CubeA as if it had global orientation. Rotating CubeC changes effect even more. Now CubeA rotation is similar neither to CubeB's nor to CubeC's.
I don't want to make this question too complicated but if I change the order and apply the constraint after parenting the objects then result is different again from described above though I still can't pursue its logic.
How do constraint and parenting interact with each other? How can one estimate the final child's orientation?