public String toString() {
		final StringBuilder sb = new StringBuilder();
		sb.append(table.getName());
		sb.append(':');
		try {
			sb.append(getSymbolString());
		} catch (MaltChainedException e) {
			if (getLogger().isDebugEnabled()) {
				getLogger().debug("",e);
			} else {
				getLogger().error(e.getMessageChain());
			}
		}
		sb.append('\t');
		if (defaultDirection == Direction.LEFT) {
			sb.append('l');
		} else if (defaultDirection == Direction.RIGHT) {
			sb.append('r');
		}
		sb.append('\t');
		if (size() == 0) {
			sb.append('*');
		} else {
			for (int i = 0; i < size(); i++) {
				sb.append(get(i));
				if (i < size()-1) {
					sb.append(';');
				}
			}
		}
		return sb.toString();
	}