To replicate you really need a database with lots of forums, messages, etc. At least 500k rows in MFR_TOPIC_T
getPrivateForumByOwnerAreaWithAllTopics is a method that is supposed to retrieve the private forums, topics, children all in one query. But this query results in two joins onto the same table. In MySQL 5.6+ I'm seeing this query ignore an index on the children table resulting in a full table scan (E.g., 4 seconds to load Messages instead of 0.05 seconds).