Как еще один читатель указал на то, что вы хотите, чтобы ваши классы имели низкое сцепление и высокое сцепление. Если у ваших классов есть риск циклических зависимостей, это звучит так, как будто у вас плохой запах кода.
Подумайте о взгляде на отношения в многослойном подходе сверху вниз. то есть, какой класс имеет больше смысла, чтобы содержать другой? Если его нет, и вам нужны функциональные возможности обоих классов, рассмотрите класс составного адаптера, который содержит оба.