<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def of(self, *indented_blocks) -> "CodeBlock": """ By default, marks the block as expecting an indented "body" blocks of which are then supplied as arguments to this method. Unless the block specifies a "closed_by", if no body blocks are supplied or they are all Nones, this will generate a "pass" statement as the body. If there is a "closed_by" specified, then that will be used on the same indentation level as the opening of the block. After all the arguments have been handled, this block is marked as finalised and no more blocks can be appended to it. None blocks are skipped. Returns the block itself. """


        if self.closed_by is None:
            self.expects_body_or_pass = True

        for block in indented_blocks:
            if block is not None:
                self._blocks.append((1, block))

        # Finalise it so that we cannot add more sub-blocks to this block.
        self.finalise()

        return self