docs: protected ArrayList<HashMap> readCultivarData(HashMap brMap, HashMap ret) throws IOException {
  
          ArrayList<HashMap> culArr = new ArrayList<HashMap>();
          HashMap culData = new HashMap();
          String line;
          BufferedReader brC;
          Object buf;
          HashMap mapC;
          LinkedHashMap formats = new LinkedHashMap();
  
          mapC = (HashMap) brMap.get("C");
  
          // If Cultivar File is no been found
          if (mapC.isEmpty()) {
              return culArr;
          }
  
          culArr = new ArrayList();
  
          for (Object key : mapC.keySet()) {
  
              buf = mapC.get(key);
              if (buf instanceof char[]) {
                  brC = new BufferedReader(new CharArrayReader((char[]) buf));
              } else {
                  brC = (BufferedReader) buf;
              }
  
              while ((line = brC.readLine()) != null) {
  
                  // Get content type of line
                  judgeContentType(line);
  
                  // Read Header Info
                  if (flg[2].equals("meta")) {
                      culData = new HashMap();
                      culData.put("header_info", line.trim());
                  } // Cultivar data title
                  else if (flg[2].equals("title")) {
                      culData.put("cul_titles", line);
                  }// Cultivar data
                  else if (flg[2].equals("data")) {
                      // Set variables' formats
                      line = line.replaceAll(".*:", "").trim();
                      formats.clear();
                      formats.put("cul_id", 6);
                      // Read line and save into return holder
                      HashMap tmp = readLine(line, formats);
                      tmp.putAll(culData);
                      tmp.put("cul_info", line);
                      culArr.add(tmp);
                  }
              }
              brC.close();
          }