@Override
    public HumanNameDt fromString(HumanNameDt name, String value) {
        String[] pcs = value.split("\\,", 2);
        String[] pcs1 = pcs[0].split("\\ ");
        String[] pcs2 = pcs.length == 1 ? null : pcs[1].split("\\ ");
        
        if (name == null) {
            name = new HumanNameDt();
        }
        
        for (String pc : pcs1) {
            pc = pc.trim();
            
            if (!pc.isEmpty()) {
                name.addFamily(pc);
            }
        }
        
        if (pcs2 != null) {
            for (String pc : pcs2) {
                pc = pc.trim();
                
                if (!pc.isEmpty()) {
                    name.addGiven(pc);
                }
            }
        }
        
        return name;
    }