'Takes a list like this one:
[1 , 3, [4,5], [4, 5, 5], 9 ]
It first creates a list like this one:
[ [1, \'\', \'\'] ,
[3, \'\', \'\'],
[4, 5, \'\'],
[4, 5, 5],
[9, \'\', \'\']
And finally it transposes it in order to return it.
[ [1, 3, 4, 4, 9],
[\'\', \'\', 5, 5, \'\'],
[\'\', \'\', \'\', 5, \'\']'

def _parse(self, clusteredData):

    larger_list = [len(i) for i in clusteredData if isinstance(i, type([]))]
    larger_list.sort()
    larger_list.reverse()
    if (len(larger_list) == 0):
        larger_list = 0
    else:
        larger_list = larger_list[0]
    padded_list = []
    for i in clusteredData:
        if isinstance(i, type([])):
            i = [w.get_id() for w in i]
            for j in xrange((larger_list - len(i))):
                i.append('')
            padded_list.append(i)
        else:
            tmp = []
            tmp.append(i.get_id())
            for j in xrange((larger_list - len(tmp))):
                tmp.append('')
            padded_list.append(tmp)
    resList = [['' for w in range(len(padded_list))] for i in range(len(padded_list[0]))]
    for (x, padded_list) in enumerate(padded_list):
        for (y, paddedItem) in enumerate(padded_list):
            resList[y][x] = str(paddedItem)
    return resList
