public void appendValue(String value) throws NoSuchMethodException {
      try {
         String currentValue = getValue();
         setValue((currentValue == null ? "" : currentValue) + value);
      } catch (NoSuchMethodException e) {
         // try "add"
         try {
            Method method = target.getClass().getMethod("add"+name, String.class);
            method.invoke(target, value);
         } catch (InvocationTargetException e1) {
            e1.printStackTrace();
            throw new RuntimeException(e);
         } catch (IllegalAccessException e1) {
            e1.printStackTrace();
            throw new RuntimeException(e);
         }
      }
   }