@Override
 protected void basicSetFieldValue(PDAcroFormField field, List value) {
   if (field == null) {
     return;
   }
   PDAcroFormField rootField = field.getLogicalRoot();
   COSObject oldValue = rootField.cosGetValue();
   rootField.setValueStrings(value);
   COSObject newValue = rootField.cosGetValue();
   if (changed(oldValue, newValue)) {
     createAppearance(rootField);
     recalculate(rootField);
   }
 }
 @Override
 protected void basicSetFieldValue(PDAcroFormField field, String value) {
   if (field == null) {
     return;
   }
   PDAcroFormField rootField = field.getLogicalRoot();
   if (isValidate()) {
     TriggerEvent trigger = triggerValidate(rootField, value);
     if (!trigger.getRc()) {
       return;
     }
     value = trigger.getValueString();
   }
   COSObject oldValue = rootField.cosGetValue();
   rootField.setValueString(value);
   COSObject newValue = rootField.cosGetValue();
   if (changed(oldValue, newValue)) {
     createAppearance(rootField);
     recalculate(rootField);
   }
 }