docs: 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