а зачем тут старый сишный каст? reinterpret_cast тогда уж, если тут надо использовать объект по совсем не тому интерфейсу. только это феерически сломается, если когда-нибудь реализации интерфейсов репозитория разделят (так, кстати, скоро может случиться). Рекомендую в следующей версии перепроектировать это так, чтобы иметь тут честную ссылку на RepoControlInterface и не пытаться прострелить себе ногу.