Program: 163345
Project: 163345
Buggy source:
/** 
 * Creates a Conversion from String to Boolean with default values to return when the input is null. <p>The list of Strings that identify "true" the list of Strings that identify "false" are mandatory.
 * @param valueIfStringIsNull default Boolean value to be returned when the input String is null. Used when {@link ObjectConversion#execute(String)} is invoked.
 * @param valueIfObjectIsNull default String value to be returned when a Boolean input is null. Used when {@link BooleanConversion#revert(Boolean)} is invoked.
 * @param valuesForTrue Strings that identify the boolean value <i>true</i>. The first element will be returned when executing  {@code revert(true)}
 * @param valuesForFalse Strings that identify the boolean value <i>false</i>. The first element will be returned when executing {@code #revert(false)}
 */
public BooleanConversion(Boolean valueIfStringIsNull,String valueIfObjectIsNull,String[] valuesForTrue,String[] valuesForFalse){
  super(valueIfStringIsNull,valueIfObjectIsNull);
  ArgumentUtils.notEmpty("String_Node_Str",valuesForTrue);
  ArgumentUtils.notEmpty("String_Node_Str",valuesForFalse);
  Collections.addAll(falseValues,valuesForFalse);
  Collections.addAll(trueValues,valuesForTrue);
  ArgumentUtils.normalize(falseValues);
  ArgumentUtils.normalize(trueValues);
  for (  String falseValue : falseValues) {
    if (trueValues.contains(falseValue)) {
      throw new DataProcessingException("String_Node_Str" + falseValue + '\'');
    }
  }
  defaultForTrue=valuesForTrue[0];
  defaultForFalse=valuesForFalse[0];
}

Fixed version (ground truth):
/** 
 * Creates a Conversion from String to Boolean with default values to return when the input is null. <p>The list of Strings that identify "true" the list of Strings that identify "false" are mandatory.
 * @param valueIfStringIsNull default Boolean value to be returned when the input String is null. Used when {@link ObjectConversion#execute(String)} is invoked.
 * @param valueIfObjectIsNull default String value to be returned when a Boolean input is null. Used when {@link BooleanConversion#revert(Boolean)} is invoked.
 * @param valuesForTrue       Strings that identify the boolean value <i>true</i>. The first element will be returned when executing  {@code revert(true)}
 * @param valuesForFalse      Strings that identify the boolean value <i>false</i>. The first element will be returned when executing {@code #revert(false)}
 */
public BooleanConversion(Boolean valueIfStringIsNull,String valueIfObjectIsNull,String[] valuesForTrue,String[] valuesForFalse){
  super(valueIfStringIsNull,valueIfObjectIsNull);
  ArgumentUtils.notEmpty("String_Node_Str",valuesForTrue);
  ArgumentUtils.notEmpty("String_Node_Str",valuesForFalse);
  Collections.addAll(falseValues,valuesForFalse);
  Collections.addAll(trueValues,valuesForTrue);
  ArgumentUtils.normalize(falseValues);
  ArgumentUtils.normalize(trueValues);
  for (  String falseValue : falseValues) {
    if (trueValues.contains(falseValue)) {
      throw new DataProcessingException("String_Node_Str" + falseValue + '\'');
    }
  }
  defaultForTrue=valuesForTrue[0];
  defaultForFalse=valuesForFalse[0];
}