protected function commandMatchesIdentifier(Command $command, $commandIdentifier)
{
$commandIdentifierParts = explode(':', $command->getCommandIdentifier());
$searchedCommandIdentifierParts = explode(':', $commandIdentifier);
$packageKey = array_shift($commandIdentifierParts);
$searchedCommandIdentifierPartsCount = count($searchedCommandIdentifierParts);
if ($searchedCommandIdentifierPartsCount === 3 || $searchedCommandIdentifierPartsCount === 1) {
$searchedPackageKey = array_shift($searchedCommandIdentifierParts);
if ($searchedPackageKey !== $packageKey && substr($packageKey, -(strlen($searchedPackageKey) + 1)) !== '.' . $searchedPackageKey) {
return false;
}
}
if ($searchedCommandIdentifierPartsCount === 1) {
return true;
} elseif (count($searchedCommandIdentifierParts) !== 2) {
return false;
}
return $searchedCommandIdentifierParts === $commandIdentifierParts;
}