question: private List < BlockInfo > fillSegmentIdToTableInfoMap ( List < TableBlockInfo > tableBlockInfos , AbsoluteTableIdentifier absoluteTableIdentifier ) { Map < String , List < BlockInfo > > map = segmentIdToBlockListMap . get ( absoluteTableIdentifier ) ; if ( null == map ) { map = new ConcurrentHashMap < String , List < BlockInfo > > ( ) ; segmentIdToBlockListMap . put ( absoluteTableIdentifier , map ) ; } BlockInfo temp = null ; List < BlockInfo > blockInfosNeedToLoad = new ArrayList < > ( ) ; for ( TableBlockInfo info : tableBlockInfos ) { List < BlockInfo > tempTableBlockInfos = map . get ( info . getSegmentId ( ) ) ; if ( null == tempTableBlockInfos ) { tempTableBlockInfos = new ArrayList < > ( ) ; map . put ( info . getSegmentId ( ) , tempTableBlockInfos ) ; } temp = new BlockInfo ( info ) ; if ( ! tempTableBlockInfos . contains ( temp ) ) { tempTableBlockInfos . add ( temp ) ; } blockInfosNeedToLoad . add ( temp ) ; } return blockInfosNeedToLoad ; }
target:  Below method will be used to fill segment id to its block mapping map. it will group all the table block info based on segment id and it will fill