@Override
    public CounterParty createNewChild(TreeMap<String, String> properties) {
        CounterParty counterParty = new CounterParty();
        counterParty.setName(properties.get(NAME));
        String aliasesString = properties.get(CounterParties.ALIAS);
        if(aliasesString!=null){
            counterParty.setAliases(Utils.parseStringList(aliasesString));
        }
        String accountNumberString = properties.get(CounterParties.ACCOUNTNUMBER);
        if(accountNumberString!=null){
            ArrayList<String> numberList = Utils.parseStringList(accountNumberString);
            for(String s: numberList){
                counterParty.addAccount(new BankAccount(s));
            }
        }
        String addressLinesString = properties.get(CounterParties.ADDRESS);
        if(addressLinesString!=null){
            counterParty.setAddressLines(Utils.parseStringList(addressLinesString));
        }
        String bicString = properties.get(CounterParties.BIC);
        if(bicString!=null){
            parseBicsString(counterParty, bicString);
        }
        String currenciesString = properties.get(CounterParties.CURRENCY);
        if(currenciesString!=null){
            parseCurrenciesString(counterParty, currenciesString);
        }
        return counterParty;
    }