protected void cumulateDistance(final List<LightweightTypeReference> references, Multimap<JvmType, LightweightTypeReference> all,
			Multiset<JvmType> cumulatedDistance) {
		for(LightweightTypeReference other: references) {
			Multiset<JvmType> otherDistance = LinkedHashMultiset.create();
			initializeDistance(other, all, otherDistance);
			cumulatedDistance.retainAll(otherDistance);
			for(Multiset.Entry<JvmType> typeToDistance: otherDistance.entrySet()) {
				if (cumulatedDistance.contains(typeToDistance.getElement()))
					cumulatedDistance.add(typeToDistance.getElement(), typeToDistance.getCount());
			}
		}
	}
protected void cumulateDistance ( final List < LightweightTypeReference > references , Multimap < JvmType , LightweightTypeReference > all , Multiset < JvmType > cumulatedDistance ) { for ( LightweightTypeReference other : references ) { Multiset < JvmType > otherDistance = LinkedHashMultiset . create ( ) ; initializeDistance ( other , all , otherDistance ) ; cumulatedDistance . retainAll ( otherDistance ) ; for ( Multiset . Entry < JvmType > typeToDistance : otherDistance . entrySet ( ) ) { if ( cumulatedDistance . contains ( typeToDistance . getElement ( ) ) ) cumulatedDistance . add ( typeToDistance . getElement ( ) , typeToDistance . getCount ( ) ) ; } } }
Keeps the cumulated distance for all the common raw super types of the given references.
Interfaces that are more directly implemented will get a lower total count than more general
interfaces.