class StringAmount {

  public static StringAmount plus(final StringAmount value1, final StringAmount value2) {
    ArgumentChecker.notNull(value1, "Surface value 1");
    ArgumentChecker.notNull(value2, "Surface value 2");
    final HashMap<String, Double> plus = new HashMap<>(value1._data);
    for (final String p : value2._data.keySet()) {
      if (value1._data.containsKey(p)) {
        plus.put(p, value2._data.get(p) + value1._data.get(p));
      } else {
        plus.put(p, value2._data.get(p));
      }
    }
    return new StringAmount(plus);
  }

  public  StringAmount();
  private  StringAmount(final HashMap<String, Double> map);

}