def read(self, lines):
     assert(isinstance(lines,list))
     m = re.match("\s*getNodeId.*:[^0-9a-f]*([0-9a-f]+).*", lines[0])
     if m:
         self.nodeId = m[1]
         lines = lines[1:]
     while len(lines) > 0:
         routingTable = RoutingTable()
         try:
             assert(isinstance(lines, list))
             lines = routingTable.read(lines)
             assert(isinstance(lines, list))
             self.routingTables.append(routingTable)
         except TableHeaderException as e:
             return lines
         except TableEntryException as e:
             return lines