function via( $key ) {

        if ( !$this->parent_ ) throw new \LogicException( 'Cannot set reference key on basic Result' );

        $clone = clone $this;

        if ( $clone->single ) {

            $clone->parentKey = $key;

        } else {

            $clone->key = $key;

        }

        return $clone;

    }
function via( $key ) {

        if ( !$this->parent_ ) throw new \LogicException( 'Cannot set reference key on basic Result' );

        $clone = clone $this;

        if ( $clone->single ) {

            $clone->parentKey = $key;

        } else {

            $clone->key = $key;

        }

        return $clone;

    }
function via ( $ key ) { if ( ! $ this -> parent_ ) throw new \ LogicException ( 'Cannot set reference key on basic Result' ) ; $ clone = clone $ this ; if ( $ clone -> single ) { $ clone -> parentKey = $ key ; } else { $ clone -> key = $ key ; } return $ clone ; }
Create result with new reference key

@param string $key
@return Result
Create result with new reference key