code: func NewSegmentMap(size int64) (*SegmentMap, error) {
  	if size <= 0 {
  		return nil, errors.Errorf("Invalid size: %d", size)
  	}
  
  	sm := &SegmentMap{
  		maps: make([]map[string]interface{}, size),
  		size: size,
  	}
  	for i := int64(0); i < size; i++ {
  		sm.maps[i] = make(map[string]interface{})
  	}
  
  	sm.crcTable = crc32.MakeTable(crc32.Castagnoli)
  	return sm, nil
  }
docs: // NewSegmentMap creates a new SegmentMap.