All these InjectionSource classes should implement the equals() method. 

If you have two global bindings to the same place the equals() method is used to decide if they are compatible or not, so without this two global bindings will never be considered equal.