public function createStrRepresentation()
    {
        $entity = $this->getEntityData();
        if (is_array($entity) || $entity instanceof \ArrayAccess) {
            // for some reason, implode does not work directly on the entity traversable
            $strArr = array();
            foreach ($entity as $e) {
                $strArr[] = $e->__toString();
            }
            return implode("\x1E", $strArr); // ASCII "record separator" character
        } elseif ($entity) {
            return $entity->__toString();
        } else {
            return '';
        }
    }