Merge incoming_schemaloc into the given `_NamespaceInfo`, ni.  If we
        don't have one yet and the incoming value is non-None, update ours
        with theirs.  This modifies ni.

def __merge_schema_locations(self, ni, incoming_schemaloc):
        """Merge incoming_schemaloc into the given `_NamespaceInfo`, ni.  If we
        don't have one yet and the incoming value is non-None, update ours
        with theirs.  This modifies ni.
        """
        if ni.schema_location == incoming_schemaloc:  # TODO (bworrell): empty strings?
            return
        elif not ni.schema_location:
            ni.schema_location = incoming_schemaloc or None
        elif not incoming_schemaloc:
            return
        else:
            raise ConflictingSchemaLocationError(ni.uri, ni.schema_location, incoming_schemaloc)