<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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)