public static function fromNative()
    {
        $args = func_get_args();

        if (count($args) != 2) {
            throw new \BadMethodCallException('This methods expects two arguments. One for the key and one for the value.');
        }

        $keyString   = \strval($args[0]);
        $valueString = \strval($args[1]);
        $key   = new StringLiteral($keyString);
        $value = new StringLiteral($valueString);

        return new self($key, $value);
    }