private static function reasonMessage($reason)
{
if (is_array($reason)) {
$tmp = array_map(function ($tmp) {
list($responseName, $subReason) = $tmp;
$reasonMessage = self::reasonMessage($subReason);
return "subfields {$responseName} conflict because {$reasonMessage}";
}, $reason);
return implode(' and ', $tmp);
}
return $reason;
}