<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def email_addresses595(self, key, value):
 """Populates the ``email_addresses`` field using the 595 MARCXML field. Also populates ``_private_notes`` as a side effect. """

    emails = self.get('email_addresses', [])

    if value.get('o'):
        emails.append({
            'value': value.get('o'),
            'current': False,
            'hidden': True,
        })

    if value.get('m'):
        emails.append({
            'value': value.get('m'),
            'current': True,
            'hidden': True,
        })

    notes = self.get('_private_notes', [])
    new_note = (
        {
            'source': value.get('9'),
            'value': _private_note,
        } for _private_note in force_list(value.get('a'))
    )
    notes.extend(new_note)
    self['_private_notes'] = notes

    return emails