I have a question about FQN. In its hashCode() calculation, it adds up the hash codes for its members. It could it lead to same hash code for two different FQNs so I was wondering if you think its a problem and what potential resolution could be.
Sure, but 2 different Strings could map to the same hashCode as well.
Hash codes don't have to be collision-free.