docs: def create_new_reference(self, obj, global_ref=False):
          """
          Create a new reference thats maps to the given object.
  
          :param obj:              Object which gets referenced.
          :param bool global_ref:  Whether a local or global reference is created.
          """
          # get an unique address
          opaque_ref = self.state.project.loader.extern_object.allocate()
          # map the object to that address
          l.debug("Map %s to opaque reference 0x%x", obj, opaque_ref)
          if global_ref:
              self.global_refs[opaque_ref] = obj
          else:
              self.local_refs[opaque_ref] = obj
          return opaque_ref