For ease of use, it would be better to use an EnumMap as the internal container for NativeMetadata. We can then create and populate the NativeMetadata inside an ImageReader and retrieve the EnumMap and query it by enum key specific for that kind of image. - may need to create enum type for GIF specific native metadata. For JPEG, use Marker as key and for PNG, use ChunkType instead. TIFF may not need NativeMetadata at all.
For ease of use, it would be better to use an EnumMap as the internal container for NativeMetadata. We can then create and populate the NativeMetadata inside an ImageReader and retrieve the EnumMap and query it by enum key specific for that kind of image. - may need to create enum type for GIF specific native metadata. For JPEG, use Marker as key and for PNG, use ChunkType instead. TIFF may not need NativeMetadata at all.