original_string: public function canHoldItByTwoHands(WeaponlikeCode $weaponToHoldByTwoHands): bool
      {
          return
              // shooting weapons are two-handed (except mini-crossbow), projectiles are not
              $this->isTwoHandedOnly($weaponToHoldByTwoHands) // the weapon is explicitly two-handed
              // or it is melee weapon with length at least 1 (see PPH page 92 right column)
              || ($weaponToHoldByTwoHands->isMelee() && $this->getLengthOfWeaponOrShield($weaponToHoldByTwoHands) >= 1);
      }
code: public function canHoldItByTwoHands(WeaponlikeCode $weaponToHoldByTwoHands): bool
      {
          return
              // shooting weapons are two-handed (except mini-crossbow), projectiles are not
              $this->isTwoHandedOnly($weaponToHoldByTwoHands) // the weapon is explicitly two-handed
              // or it is melee weapon with length at least 1 (see PPH page 92 right column)
              || ($weaponToHoldByTwoHands->isMelee() && $this->getLengthOfWeaponOrShield($weaponToHoldByTwoHands) >= 1);
      }
code_tokens: public function canHoldItByTwoHands ( WeaponlikeCode $ weaponToHoldByTwoHands ) : bool { return // shooting weapons are two-handed (except mini-crossbow), projectiles are not $ this -> isTwoHandedOnly ( $ weaponToHoldByTwoHands ) // the weapon is explicitly two-handed // or it is melee weapon with length at least 1 (see PPH page 92 right column) || ( $ weaponToHoldByTwoHands -> isMelee ( ) && $ this -> getLengthOfWeaponOrShield ( $ weaponToHoldByTwoHands ) >= 1 ) ; }
docstring: Not all weapons can be hold by two hands - some of them are simply so small so it is not possible or highly
  ineffective.
  
  @param WeaponlikeCode $weaponToHoldByTwoHands
  @return bool
  @throws \DrdPlus\Tables\Armaments\Exceptions\UnknownWeaponlike
docstring_tokens: Not all weapons can be hold by two hands - some of them are simply so small so it is not possible or highly ineffective .