<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def value_splitter(self, reference, prop, value, mode):
 """ Split a string into a list items. Default behavior is to split on white spaces. Arguments: reference (string):
 Reference name used when raising possible error. prop (string):
 Property name used when raising possible error. value (string):
 Property value to split. mode (string):
 Splitter mode. Default should come from ``ManifestSerializer._DEFAULT_SPLITTER``. Available splitter are: * ``white-space``: Simply split a string on white spaces; * ``json-list``: Assume the string is a JSON list to parse; Returns: list: """

        items = []

        if mode == 'json-list':
            try:
                items = json.loads(value)
            except json.JSONDecodeError as e:
                print(value)
                msg = ("Reference '{ref}' raised JSON decoder error when "
                       "splitting values from '{prop}': {err}'")
                raise SerializerError(msg.format(ref=reference, prop=prop,
                                                 err=e))
        else:
            if len(value) > 0:
                items = value.split(" ")

        return items