Store both the project and identifier of extracted references. This prevents `ReferenceExtractor` from returning objects in the wrong project for cross-project references.