Merges the values

def merge(self, other):
        """
        Merges the values
        """
        print "MERGING", self, other
        other = self.coerce(other)
        if self.is_contradictory(other):
            raise Contradiction("Cannot merge %s and %s" % (self, other))
        elif self.value is None and not other.value is None:
            self.r, self.g, self.b = other.r, other.g, other.b
            self.value = RGBColor(self.r, self.b, self.g, rgb_type='sRGB')
        # last cases:  other is none, or both are none 
        
        return self