code: def full_name(self, gender: Optional[Gender] = None,
                    reverse: bool = False) -> str:
          
          if gender is None:
              gender = get_random_item(Gender, rnd=self.random)
  
          if gender and isinstance(gender, Gender):
              gender = gender
          else:
              raise NonEnumerableError(Gender)
  
          fmt = '{1} {0}' if reverse else '{0} {1}'
          return fmt.format(
              self.name(gender),
              self.surname(gender),
          )
docs: Generate a random full name.
  
          :param reverse: Return reversed full name.
          :param gender: Gender's enum object.
          :return: Full name.
  
          :Example:
              Johann Wolfgang.