public void AddProjectReference(object proj, string referenceName, string referenceLibraryName, Guid? referenceGuid,
     string referenceFilename, Location referenceLocation, IEnumerable<string> languages)
 {
     refs.Add(new TempReference((TempProject) proj, Dependency.Types.ProjectReference, referenceName, referenceLibraryName, referenceGuid,
         referenceFilename, referenceLocation, languages));
 }
            public TempReference(TempProject source, Dependency.Types type, string referenceName, string referenceLibraryName, Guid? referenceGuid,
                string referenceFilename, Location referenceLocation, IEnumerable<string> referenceLanguages)
            {
                Argument.ThrowIfNull(source);
                Argument.ThrowIfAllNull(referenceName, referenceLibraryName);
                Argument.ThrowIfNull(referenceLocation);

                Source = source;
                Type = type;
                ReferenceName = referenceName;
                ReferenceLibraryName = referenceLibraryName;
                ReferenceGuid = referenceGuid;
                ReferenceFilename = referenceFilename;
                ReferenceLocation = referenceLocation;
                ReferenceLanguages = referenceLanguages;
            }