def METHOD_NAME(self):
    # Since we can compute our preferred size from the size of the
    # arrows and the spacing, we can return a sensible preferred
    # size, so override the default implementation in Component.
    if self.fixed_preferred_size is not None:
        return self.fixed_preferred_size
    else:
        extent = self.scale * 2 * (self.spacing + self.triangle_length / 2)
        return [extent + self.hpadding, extent + self.vpadding]