As illustrated by bunch of concurrent modification exception reported by Viliam in recent months, these components are not quite thread safe. They extensively use (unsafe) modifyUnfrozen method. E.g. when setting the resource availability status.
This was improved a bit by https://github.com/Evolveum/midpoint/commit/03f676bddb61e098ddf59ed65c9f8a2dd806aa89 but this is not a solution.
It should be fixed more seriously by making these classes and objects they work with really thread safe.