code: public void addSoil(byte[] source) throws IOException {
          AceSoil soil = new AceSoil(source);
          String soilId = soil.getValue("soil_id");
          String sid   = soil.getId();
          if (this.soilMap.containsKey(sid)) {
              String origSoilId = this.soilMap.get(sid).getValueOr("soil_id", "");
              LOG.error("Duplicate data found for soil_id: {} matches {}", soilId, origSoilId);
          } else {
              this.soilMap.put(sid, soil);
          }
          this.sidMap.put(soilId, sid);
      }
docs: Add a Soil to the dataset.
  <p>
  Add a new Soil from a {@code byte[]} consisting of the JSON
  for that soil data.
  
  @param source JSON soil data
  @throws IOException if there is an I/O error