code: def create_cells(self, blocks):
          
          cells = []
          for block in blocks:
              if (block['type'] == self.code) and (block['IO'] == 'input'):
                  code_cell = self.create_code_cell(block)
                  cells.append(code_cell)
  
              elif (block['type'] == self.code and
                    block['IO'] == 'output' and
                    cells[-1].cell_type == 'code'):
                  cells[-1].outputs = self.create_outputs(block)
  
              elif block['type'] == self.markdown:
                  markdown_cell = self.create_markdown_cell(block)
                  cells.append(markdown_cell)
  
              else:
                  raise NotImplementedError("{} is not supported as a cell"
                                            "type".format(block['type']))
  
          return cells
docs: Turn the list of blocks into a list of notebook cells.