public RawDependency([NotNull] RawUsingItem usingItem, [NotNull] RawUsedItem usedItem,
                      DotNetUsage usage, [CanBeNull] SequencePoint sequencePoint, AbstractDotNetAssemblyDependencyReader readerForUsedItem)
 {
     if (usingItem == null)
     {
         throw new ArgumentNullException(nameof(usingItem));
     }
     if (usedItem == null)
     {
         throw new ArgumentNullException(nameof(usedItem));
     }
     UsingItem          = usingItem;
     UsedItem           = usedItem;
     Usage              = usage;
     _readerForUsedItem = readerForUsedItem;
     _sequencePoint     = sequencePoint;
 }
 [CanBeNull] // null (I think) if assemblies do not match (different compiles) and hence a used item is not found in target reader.
 public Item ToItemWithTail(WorkingGraph readingGraph, AbstractDotNetAssemblyDependencyReader reader,
                            int depth)
 {
     return(reader.GetFullItemFor(readingGraph, this, depth));
 }