You're running into catastrophic backtracking by repeating a group containing repeated quantifiers. The combinatorial explosion that follows will then (given enough input) lead to a (tada!) Stack Overflow.
Simplified, your regex tries to
(.*\.\s*)
match any succession of characters including dots and spaces, followed by a dot, followed by zero or more spaces, then
(...)*
repeat this any number of times.
Dendryt
Only then it tries to match "Dendryt".
Since this fails, the engine backtracks, trying a different permutation. The possibilities are nearly endless...
To illustrate, here's a screenshot of RegexBuddy's regex debugger on a simplified version of your data:

The engine gives up after 1 million permutations.
Your regex would be a little better like this (don't forget to escape the backslashes when converting it to a Java string):
(.*)(\.\s*)*+Dendryt
In this case the *+
, a so-called possessive quantifier, will refuse to backtrack once it has matched. That way, the regex engine can fail much faster, but it's still bad because (.*)
matches anything, even the dots.
([^.]*)(\.\s*)*+Dendryt
is safe, unless your data can contain dots before the "dotted line bit". All in all, please state your requirements a bit more clearly, then a better regex can be built.