def METHOD_NAME(self, node):
    """Last node use different logic for new line marker. It is not possible to preserve all empty lines, but
    we need at least ensure that following code::
         *** Test Case ***
         *** Variables ***
    Will not become::
        *** Variables ****** Test Case ***
    """
    # Empty sections, just *** Test Cases *** etc
    if not node.body:
        node.header.tokens = self.normalize_eol(node.header.tokens)
        return node
    # Settings, Variables or Comments
    if not hasattr(node.body[-1], "body"):
        node.body[-1].tokens = self.normalize_eol(node.body[-1].tokens)
        return node
    # Last keyword or test case
    if not node.body[-1].body:
        node.body[-1].body.append(EmptyLine.from_params())
        return node
    last_statement = node.body[-1].body[-1]
    if hasattr(last_statement, "end"):
        if (
            InlineIfHeader
            and hasattr(last_statement, "header")
            and isinstance(last_statement.header, InlineIfHeader)
        ):
            if not last_statement.errors:
                node.body[-1].body[-1].body[-1].tokens = self.normalize_eol(last_statement.body[-1].tokens)
            return node
        if last_statement.end:  # not end if parsing errors
            node.body[-1].body[-1].end.tokens = self.normalize_eol(last_statement.end.tokens)
    else:
        node.body[-1].body[-1] = Statement.from_tokens(self.normalize_eol(last_statement.tokens))
    return node