/**
  * @param DataInterface $data
  * @param string        $familyCode
  *
  * @throws WrongFamilyException
  */
 public static function assertFamily(DataInterface $data, $familyCode)
 {
     if ($data->getFamilyCode() === $familyCode) {
         return;
     }
     $backtrace = debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT, 2);
     $function = $backtrace[1]['class'] . '::' . $backtrace[1]['function'];
     $m = "Argument 1 passed to {$function} must be of family {$familyCode}, {$data->getFamilyCode()} given";
     throw new self('WrongFamilyException: ' . $m, 0, E_RECOVERABLE_ERROR, $backtrace[0]['file'], $backtrace[0]['line'], []);
 }