Fix/effector concatenate test

- Converts groovy to java for the test
- Use latches rather than notifyAll/wait, to avoid bugs on spurious wake-ups
- Simplify test to make it a lot easier to understand