On non-cdt projects, the decorators caused a ICProjectDescription to
be created every time a resource was decorated. The decorators should
only get the description when it already exists. Performance was also a
bit improved on cdt projects by extracting some variables out of a loop.
Change-Id: I125dc0ba55a72cfbd272fb6d6658474216021803
Reviewed-on: https://git.eclipse.org/r/12744
Reviewed-by: Andrew Gvozdev <angvoz.dev@gmail.com>
IP-Clean: Andrew Gvozdev <angvoz.dev@gmail.com>
Tested-by: Andrew Gvozdev <angvoz.dev@gmail.com>