Incorrect parameters when using PredicateBuilder extension methods with Invoke()

When using PredicateBuider extension methods together with Invoke() expression without first expanding, nested Invoke is created and wrong paramters replaced. Test case is attached.

Without expand the test case result expression is...
```
x => ((x.Item1 > 1000) OrElse z.Item2.Contains("a"))
```