def METHOD_NAME(self, other):
    """Merge this operation with another scale operation.
    This prevents the user from having to undo multiple operations if they
    were not his operations.
    You should ONLY merge this operation with an older operation. It is NOT
    symmetric.
    :param other: The older scale operation to merge this operation with.
    :return: A new operation that performs both scale operations.
    """
    if type(other) is not ScaleOperation:
        return False
    if other._node != self._node: #Must be scaling the same node.
        return False
    if other._set_scale and not self._set_scale: #Must be the same type of scaling.
        return False
    if other._add_scale and not self._add_scale:
        return False
    if other._relative_scale and not self._relative_scale:
        return False
    if other._scale_around_point != self._scale_around_point:
        return False
    if other._snap != self._snap:
        return False
    op = ScaleOperation(self._node, self._scale + other._scale, set_scale = self._set_scale, add_scale = self._add_scale, relative_scale = self._relative_scale, scale_around_point = self._scale_around_point, snap = self._snap)
    op._old_transformation = copy.deepcopy(other._old_transformation) #Use the oldest transformation of the two.
    return op