def METHOD_NAME(self):
    """
    Return a clone ("deep copy") of this node.
    :return: new AST node instance
    :rtype: ASTInputBlock
    """
    input_definitions_dup = [input_definition.METHOD_NAME() for input_definition in self.input_definitions]
    dup = ASTInputBlock(input_definitions=input_definitions_dup,
                        # ASTNode common attributes:
                        source_position=self.source_position,
                        scope=self.scope,
                        comment=self.comment,
                        pre_comments=[s for s in self.pre_comments],
                        in_comment=self.in_comment,
                        implicit_conversion_factor=self.implicit_conversion_factor)
    return dup