Checking circular reference works well

But the use of string checking in the if statement should be replaced by
SubscriptionSet.contains() after releasing libearth 0.2