public Map<String, Object> getCellStyle(String name,
			Map<String, Object> defaultStyle)
	{
		Map<String, Object> style = defaultStyle;

		if (name != null && name.length() > 0)
		{
			String[] pairs = name.split(";");

			if (style != null && !name.startsWith(";"))
			{
				style = new Hashtable<String, Object>(style);
			}
			else
			{
				style = new Hashtable<String, Object>();
			}

			for (int i = 0; i < pairs.length; i++)
			{
				String tmp = pairs[i];
				int c = tmp.indexOf('=');

				if (c >= 0)
				{
					String key = tmp.substring(0, c);
					String value = tmp.substring(c + 1);

					if (value.equals(mxConstants.NONE))
					{
						style.remove(key);
					}
					else
					{
						style.put(key, value);
					}
				}
				else
				{
					Map<String, Object> tmpStyle = styles.get(tmp);

					if (tmpStyle != null)
					{
						style.putAll(tmpStyle);
					}
				}
			}
		}

		return style;
	}