@SuppressWarnings("unchecked")
 public static <T extends Serializable> void setIdentifier(final Object obj, final T value) {
   if (obj instanceof BaseDO<?>) {
     setIdentifier((BaseDO<T>) obj, value);
   }
   for (final Field field : obj.getClass().getDeclaredFields()) {
     if (field.isAnnotationPresent(Id.class) == true
         && field.isAnnotationPresent(GeneratedValue.class) == true) {
       final boolean isAccessible = field.isAccessible();
       try {
         field.setAccessible(true);
         field.set(obj, value);
         field.setAccessible(isAccessible);
       } catch (final IllegalArgumentException e) {
         e.printStackTrace();
       } catch (final IllegalAccessException e) {
         e.printStackTrace();
       }
     }
   }
 }