public static function createFromRule(Rule $rule): self
    {
        return new static(
            $rule->getSubject(),
            [],
            $rule->getDefinition(),
            $rule->hasEofMark(),
            $rule->getTag()
        );
    }
public static function createFromRule(Rule $rule): self
    {
        return new static(
            $rule->getSubject(),
            [],
            $rule->getDefinition(),
            $rule->hasEofMark(),
            $rule->getTag()
        );
    }
public static function createFromRule ( Rule $ rule ) : self { return new static ( $ rule -> getSubject ( ) , [ ] , $ rule -> getDefinition ( ) , $ rule -> hasEofMark ( ) , $ rule -> getTag ( ) ) ; }
Create Item from a Rule

Current position is placed in the start of rule body.
@param Rule $rule Source rule
@return static Returns new Item
Create Item from a Rule