function setSegment($pathOffset)
    {
        if (is_int($pathOffset))
            $pathOffset = array($pathOffset, null);


        if (!is_array($pathOffset) && count($pathOffset) !==2)
            throw new \InvalidArgumentException(sprintf(
                'Segment is an array [$offset, $length]; given: (%s).'
                , \Poirot\Std\flatten($pathOffset)
            ));

        $this->pathOffset = $pathOffset;
        return $this;
    }