}
current = previous == null ? new Optional() : new Optional(previous);
} else if (name.equalsIgnoreCase("ParseBool")) {
if (params.length == 0) {
//use the default true and false string values in org.supercsv.cellprocessor.ParseBool
current = previous == null ? new ParseBool() : new ParseBool((BoolCellProcessor) previous);
} else if (params.length == 2) {
//use custom true and false values: can be either single value or multiple values
final String[] trueValues = params[0].trim().split("\\s*,\\s*");
final String[] falseValues = params[1].trim().split("\\s*,\\s*");
current = previous == null ? new ParseBool(trueValues, falseValues) :
new ParseBool(trueValues, falseValues, (BoolCellProcessor) previous);
} else {
throw SupportMessages.MESSAGES.invalidParamsForCellProcessor(name, params);
}
} else if (name.equalsIgnoreCase("ParseChar")) {
if (params.length > 0) {