code: private function begin($object, $prop) : ExtendedPdoInterface
      {
          try {
              $ref = new \ReflectionProperty($object, $prop);
          } catch (\ReflectionException $e) {
              throw new InvalidTransactionalPropertyException($prop, 0, $e);
          }
          $ref->setAccessible(true);
          $db = $ref->getValue($object);
          $db->beginTransaction();
  
          return $db;
      }
docs: @param object $object the object having pdo
  @param string $prop   the name of pdo property
  
  @throws InvalidTransactionalPropertyException
  
  @return \Pdo