But this is just for your information ... perhaps this classloader behavior (squid vs execution) is normal.
Yes this is expected ! I understand now the confusion.
We do not handle your project classpath as the analysis classpath (with the (big) exception for the jdk classes). This means that when we are reading semantic infromation from the classes you provided we are reading them as binary files and load them into our semantic model, we are not using any classloader mechanism for this.
This allows us to avoid issues of conflicting libraries (Like if you are using a version of guava different of one of ours for instance) that could lead to wrong semantic analysis.