public void handle(Directory directory, Metadata metadata) throws MetadataException {
            if (directory.getTags() != null) {
                for (Tag tag : directory.getTags()) {
                    String name = tag.getTagName();
                    if (!MetadataFields.isMetadataField(name) && tag.getDescription() != null) {
                        String value = tag.getDescription().trim();
                        if (Boolean.TRUE.toString().equalsIgnoreCase(value)) {
                            value = Boolean.TRUE.toString();
                        } else if (Boolean.FALSE.toString().equalsIgnoreCase(value)) {
                            value = Boolean.FALSE.toString();
                        }
                        if (directory instanceof ExifDirectoryBase) {
                            metadata.set(UNKNOWN_IMG_NS + directory.getName() + ":" + name, value);
                        } else if (directory instanceof IccDirectory) {
                            metadata.set(ICC_NS + name, value);
                        } else {
                            metadata.set(UNKNOWN_IMG_NS + name, value);
                        }
                    }
                }
            }
        }
Copies all fields regardless of directory, if the tag name
is not identical to a known Metadata field name.
This leads to more predictable behavior than {@link CopyAllFieldsHandler}.
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java