code: public Object execute(final Object value, final CsvContext context) {
  		validateInputNotNull(value, context);
  		if (!(value instanceof String)) {
  			throw new SuperCsvCellProcessorException(String.class, value,
  					context, this);
  		}
  
  		final String string = (String) value;
  		final T result;
  		try {
  			if (formatter != null) {
  				result = parse(string, formatter);
  			} else {
  				result = parse(string);
  			}
  		} catch (IllegalArgumentException e) {
  			throw new SuperCsvCellProcessorException("Failed to parse value",
  					context, this, e);
  		}
  
  		return next.execute(result, context);
  	}
docs: {@inheritDoc}
  
  @throws SuperCsvCellProcessorException
  if value is null or is not a String