Yes, these are conceptually two different domains. One is A-to-B-or-C, and the other is B-to-D. This might be users-to-articles-or-posts, and articles-to-tags. D doesn't exist in the first one, but is exactly what the second recommends.
The separation does keeps things simple. You can, for example, host both models within the same machine or even JVM potentially. For example, consider running two servers on two ports. You can choose which one you want by accessing one or the other service. Or you could simply embed and use two instances of ServerRecommender
directly.
It's not different than Mahout in this regard, no.