With respect to MulticastDetectors...
What's the difference between the multicast address (getAddress()) and the default-IP (getDefaultIP())?
How are each used? I assume they each have a different purpose, but me not being the multicast expert, I don't know what they are.
Actually, this is just poor design. The default ip is the multicast ip to use if the address is not set. So if set the address, it will be used, otherwise, what is set for the default ip will be used (by calling InetAddress.getByName(defaultIP); ).