public static function copyFromTabButtonable(TabButtonable $tabButtonable) {
    $valueObject = new static();
    
    // ugly, but fast
    $valueObject->setButtonLabel($tabButtonable->getButtonLabel());
    $valueObject->setFullButtonLabel($tabButtonable->getFullButtonLabel());
    $valueObject->setButtonLeftIcon($tabButtonable->getButtonLeftIcon());
    $valueObject->setButtonRightIcon($tabButtonable->getButtonRightIcon());
    $valueObject->setButtonMode($tabButtonable->getButtonMode());
    $valueObject->setTabLabel($tabButtonable->getTabLabel());
    $valueObject->setTabRequestMeta($tabButtonable->getTabRequestMeta());
    
    return $valueObject;
  }