code: @Override
  	public void setData(final Object data) {
  		List<?> options = getOptions();
  		if (!(isEditable() && data instanceof String) && (options == null || options.isEmpty())) {
  			throw new IllegalStateException(
  					"Should not set a selection on a list component with no options.");
  		}
  
  		Object validOption = findValidOption(options, data, false);
  		super.setData(validOption);
  	}
docs: {@inheritDoc}