private ConnectionableCapability getTargetCapability( int x, int y ){
		float bestScore = 0.0f;
		ConnectionableCapability result = null;
		ConnectionFlavor flavor = factory.getFlavor();
		
		for( ConnectionableCapability capability : site.getCapabilities() ){
			if( capability.isTarget( flavor )){
				if( capability.allowSource( sourceItem, flavor ) && sourceItem.allowTarget( capability, flavor )){
					float score = capability.containsConnectionable( x, y );
					if( score > bestScore ){
						bestScore = score;
						result = capability;
					}
				}
			}
		}
		
		return result;
	}