/**
  * Get the flexible map of column information.
  *
  * @return The flexible map of column information. (NotNull, NotEmpty)
  */
 protected Map<String, ColumnInfo> getColumnInfoFlexibleMap() {
   if (_columnInfoFlexibleMap != null) {
     return _columnInfoFlexibleMap;
   }
   final List<ColumnInfo> columnInfoList = getColumnInfoList();
   synchronized (this) {
     if (_columnInfoFlexibleMap != null) {
       return _columnInfoFlexibleMap;
     }
     _columnInfoFlexibleMap = createFlexibleConcurrentMap();
     for (ColumnInfo columnInfo : columnInfoList) {
       columnInfo.diveIntoFlexibleMap(_columnInfoFlexibleMap);
     }
     return _columnInfoFlexibleMap;
   }
 }