code: public Map<String, String> parse(Map<String, String> style) {
      	Map<String, String> mapRtn = new HashMap<String, String>();
      	String bg = style.get(BACKGROUND);
      	String bgColor = null;
      	if (StringUtils.isNotBlank(bg)) {
      		for (String bgAttr : bg.split("(?<=\\)|\\w|%)\\s+(?=\\w)")) {
      			if ((bgColor = CssUtils.processColor(bgAttr)) != null) {
      				mapRtn.put(BACKGROUND_COLOR, bgColor);
      				break;
      			}
      		}
      	}
      	bg = style.get(BACKGROUND_COLOR);
      	if (StringUtils.isNotBlank(bg) && 
      			(bgColor = CssUtils.processColor(bg)) != null) {
      		mapRtn.put(BACKGROUND_COLOR, bgColor);
      		
      	}
      	if (bgColor != null) {
      		bgColor = mapRtn.get(BACKGROUND_COLOR);
      		if ("#ffffff".equals(bgColor)) {
      			mapRtn.remove(BACKGROUND_COLOR);
      		}
      	}
  	    return mapRtn;
      }
docs: {@inheritDoc}