private void writeAttribute(int tag, VR vr, Object value,
SpecificCharacterSet cs, Attributes attrs) throws SAXException {
if (TagUtils.isGroupLength(tag) || TagUtils.isPrivateCreator(tag))
return;
String privateCreator = attrs.getPrivateCreator(tag);
addAttributes(tag, vr, privateCreator);
startElement("DicomAttribute");
if (value instanceof Value)
writeAttribute((Value) value, attrs.bigEndian());
else if (!vr.isInlineBinary()) {
writeValues(vr, value, attrs.bigEndian(),
attrs.getSpecificCharacterSet(vr));
} else if (value instanceof byte[]) {
writeInlineBinary(attrs.bigEndian()
? vr.toggleEndian((byte[]) value, true)
: (byte[]) value);
} else
throw new IllegalArgumentException("vr: " + vr + ", value class: "
+ value.getClass());
endElement("DicomAttribute");
}