If I try to load two B machines via Api.b_load simultaneously on different threads, chances are that one call throws a NullPointerException during AST parsing.
I provided a minimal working example, just run ./gradlew run a few times and the exception should occur for at least one of the parallel calls. The sequential call is fine though.
I think the problem lies in de.prob.model.classicalb.DomBuilder. Locally changing the attribute EOF to not be static fixed it for me.
Java 8, Prob2 3.2.12-SNAPSHOT