code: public Object execute(final Object value, final CsvContext context) {
  		validateInputNotNull(value, context);
  		
  		final Long result;
  		if( value instanceof Long ) {
  			result = (Long) value;
  		} else if( value instanceof String ) {
  			try {
  				result = Long.parseLong((String) value);
  			}
  			catch(final NumberFormatException e) {
  				throw new SuperCsvCellProcessorException(String.format("'%s' could not be parsed as an Long", value),
  					context, this, e);
  			}
  		} else {
  			final String actualClassName = value.getClass().getName();
  			throw new SuperCsvCellProcessorException(String.format(
  				"the input value should be of type Long or String but is of type %s", actualClassName), context, this);
  		}
  		
  		return next.execute(result, context);
  	}
docs: {@inheritDoc}
  
  @throws SuperCsvCellProcessorException
  if value is null, isn't a Long or String, or can't be parsed as a Long