Jut my 2 cents here, but it could make sense to have temporary properties to ease readability...
```Collection<Principal> principals = lc.getSubject().getPrincipals()``` ...