@Override
 public void load() {
   clear();
   Dictionary dict = dictionaryModel.getDictionary();
   if (dict.found(DATA_KEY)) {
     if (dict.isList2(DATA_KEY)) {
       // Fix for alpha1 which is read with DictionaryReader2
       loadTable(ListField2.convertToString(dict.getList2(DATA_KEY)));
     } else {
       loadTable(dict.lookup(DATA_KEY).trim());
     }
   }
 }
  private Dictionary mergeBase(String subDictID) {
    Dictionary baseDict = new Dictionary(subDictID);
    Dictionary stateData = getDefaultStateData();

    if (stateData != null && stateData.found(subDictID)) {
      baseDict.merge(stateData.subDict(subDictID));
    } else {
      logger.warn("'" + subDictID + "' NOT FOUND");
    }

    // System.out.println("AbstractDefaultsProvider.mergeBase() "+baseDict);

    if (baseDict.found("base")) {
      String baseName = baseDict.lookup("base");
      Dictionary bd = mergeBase(baseName);
      bd.merge(baseDict);
      return bd;
    }

    return baseDict;
  }