@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("{"
				+ "\"id\":\"" + id + "\","
				+ "\"name\":\"" + name + "\","
				+ "\"pluralName\":\"" + pluralName + "\","
				+ "\"shortName\":\"" + shortName + "\",");
		
		if (icon != null && icon.size() == 2) {
			builder.append("\"icon\":{"
					+ "\"prefix\":\"" + icon.toArray()[0]+ "\","
					+ "\"suffix\":\"" + icon.toArray()[1]+ "\"},");
		}
		
		
		builder.append("\"categories\":[");
		
		boolean isFirstIteration = true;
		for (Category category : categories) {
			if (isFirstIteration) {
				// No comma.
				isFirstIteration = false;
			} else {
				builder.append(",");
			}
			builder.append(category.toString());
		}

		builder.append("]}");
		return builder.toString();
	}