def update_from(self, source, incr=<NUM_LIT:1>, force=False):
<EOL>if source is self.parent or getattr(source, '<STR_LIT>', None) is self.parent:<EOL><INDENT>if self.count + incr < <NUM_LIT:0> or source.count - incr < <NUM_LIT:0>:<EOL><INDENT>raise ValueError('<STR_LIT>' % incr)<EOL><DEDENT>if source is self.parent:<EOL><INDENT>if self.parent.count - self.parent.subcount - incr < <NUM_LIT:0>:<EOL><INDENT>raise ValueError('<STR_LIT>' % incr)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>source.count -= incr<EOL><DEDENT>self.count += incr<EOL>self.parent.update(<NUM_LIT:0>, force)<EOL><DEDENT>else:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>
Args:
    source(:py:class:`SubCounter`): :py:class:`SubCounter` or :py:class:`Counter`
        to increment from
    incr(int): Amount to increment ``count`` (Default: 1)
    force(bool): Force refresh even if ``min_delta`` has not been reached

Move a value to this counter from another counter.

``source`` must be the parent :py:class:`Counter` instance or a :py:class:`SubCounter` with
the same parent