def _build(self, obj):
if isinstance(obj, Mapping):<EOL><INDENT>obj = self._constructor(obj, self._configuration())<EOL><DEDENT>elif (isinstance(obj, Sequence) and<EOL>not isinstance(obj, (six.string_types, six.binary_type))):<EOL><INDENT>sequence_type = getattr(self, '<STR_LIT>', None)<EOL>if sequence_type:<EOL><INDENT>obj = sequence_type(self._build(element) for element in obj)<EOL><DEDENT><DEDENT>return obj<EOL>
Conditionally convert an object to allow for recursive mapping
access.

obj: An object that was a key-value pair in the mapping. If obj
    is a mapping, self._constructor(obj, self._configuration())
    will be called. If obj is a non-string/bytes sequence, and
    self._sequence_type is not None, the obj will be converted
    to type _sequence_type and build will be called on its
    elements.