Accepts: int, long
        Returns: int, long

def publish(self, value):
        """
        Accepts: int, long
        Returns: int, long
        """
        value = super(Integer, self).publish(value)
        if isinstance(value, float):
            value = int(value)
        if not isinstance(value, (int, long)):
            raise ValueError("Not an integer: %r" % (value, ))
        return value