Enable "null" TableNode/PyStringNode parameters

We are using some tests when we allow the null TableNode or PyStringNode . Eg:

test.feature

    Then I should get an email on "test1@mail.com"
    #...
    Then I should get an email on "test2@mail.com" with:
     """
     This is a test mail!
     """
    # OR
    When I run "assetic:dump" command
    # ...
    When I run "assetic:dump" command with:
        | option   |
        | --e=prod |
        | --vvv    |

FeatureContext.php

    <?php
    /** @Then /^I should get an email on "(?P<email>[^"]+)"(?:| with:)$/ */
    public function iShouldGetAnEmail($email, PyStringNode $text = null)
    {
        //...
        if ($text) {
            // Check the content also if it is set
        }
    }