initialize
@Synchronized rather than the plain flag GrantContacts.initialize() uses on iOS: two threads calling this concurrently on a JVM could both pass an unguarded check and double-register. Registration is idempotent so the damage would be limited, but the guard is what makes "called once" a fact rather than a hope.