@Override
	public BurstMap parse(final String s) {
		final Map<String,Object> mp = new LinkedHashMap<String,Object>();
		if((s!=null)&&(s.length()>0)&&(!s.equalsIgnoreCase(origHeader))) {
			final String[] flds = sepPattern.split(s,-1); // do allow trailing nulls
			if(null!=flds) {
				if((flds.length>0)||(flds[0].trim().length()>0)) { // empty string falsely looks like first field filled in with blank
					final int n = Math.min(headerFlds.length,flds.length);
					for(int i=0;i<n;++i) {
						mp.put(headerFlds[i],intern(flds[i],interner));
					}
				}
			}
		}
		return new BurstMap(s,mp);
	}