<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def optional_else(self, node, last):
 """ Create op_pos for optional else """

        if node.orelse:
            min_first_max_last(node, node.orelse[-1])
            if 'else' in self.operators:
                position = (node.orelse[0].first_line, node.orelse[0].first_col)
                _, efirst = self.operators['else'].find_previous(position)
                if efirst and efirst > last:
                    elast, _ = self.operators[':'].find_previous(position)
                    node.op_pos.append(NodeWithPosition(elast, efirst))