private void appendFieldToTheDS(Object object, Field field, StringBuilder signature) throws IllegalAccessException {
        if (!field.isAccessible()) {
            field.setAccessible(true);
        }
        Object fieldValue = field.get(object);
        if (null != fieldValue) {
            if (fieldValue instanceof String) {
                signature.append(fieldValue).append("\n");
            } else {
                if (fieldValue instanceof XMLGregorianCalendar) {
                    signature.append(fieldValue.toString().substring(0,10)).append("\n");//get date without timezone
                } else {
                    signature.append(fieldValue.toString()).append("\n");
                }
            }
        } else {
            if (field.isAnnotationPresent(XmlElement.class)) {
                if (field.getAnnotation(XmlElement.class).required())
                    signature.append("").append("\n");
            } else if (field.isAnnotationPresent(XmlAttribute.class)) {
                if (field.getAnnotation(XmlAttribute.class).required()) signature.append("").append("\n");
            }
        }
    }