Question: I want to convert a LambdaExpression like `pos -> pos.x < 5 && pos.y < 5` to a String which looks like this: `"pos.x < 5 && pos.y < 5"`

Is this possible in Java?

In C# I'm using something similar like [this](https://stackoverflow.com/questions/15478711/convert-lambdaexpression-to-string-including-values/15480176#15480176)

Answer: 
:ng-deep is global. No matter where you put it, it applies to *all* components. Not just children.

If you use :host :ng-deep, then it will work from that component down (Into the children, grand children etc).

The main issue working with ng-deep is that styles in Angular are lazy loaded. So in some cases, you can be viewing the site perfectly fine, then you view a particular page that uses ng-deep, then you can go back to previous pages that were fine that are now broken because the ng-deep style is applied site wide. e.x. <https://tutorialsforangular.com/2020/04/13/the-dangers-of-ng-deep-bleeding/>

Generally speaking, if I need to style a child component slightly differently depending on where it's placed, then I create an input variable for the child, make the parent set it, then make it a class somewhere in the child component HTML. The child component can then style that class how it see's fit and you haven't had to break encapsulation.
`::ng-deep` by itself does make the style global, but when combined with `:host` may do what you need, but as @eldar alluded to with [this link](https://angular.io/guide/component-styles#deprecated-deep--and-ng-deep), `::ng-deep` is deprecated (and has been for some time).