I cant get selected image with PHPickerViewController

Hi
I am migrating UIImagePickerController to PHPickerViewController but when I select an image within delegate pickerDidFinishMethod method, it should be PHPickerResult object in the NSArray but i got NsObject.
what am I doing wrong? Here is my code :

            PHPickerConfiguration config = PHPickerConfiguration.alloc().init();
            config.setSelectionLimit(1);
            config.setFilter(PHPickerFilter.imagesFilter());

            PHPickerViewController picker = 
            PHPickerViewController.alloc().initWithConfiguration(config);
            picker.setDelegate(this);
            presentViewControllerAnimatedCompletion(picker,true,null);

Delegate :

   @Override
    public void pickerDidFinishPicking(@NotNull PHPickerViewController picker, @NotNull NSArray<? extends PHPickerResult> results) {

            picker.dismissViewControllerAnimatedCompletion(true,null);
            if (results.count() == 0) return;

            NSObject resultOrg = results.get(0);
            PHPickerResult result = (PHPickerResult) resultOrg;
            NSItemProvider provider = result.itemProvider();

            if (provider.canLoadObjectOfClass(UIImage.new_objc())) {
                provider.loadObjectOfClassCompletionHandler(UIImage.new_objc(), new NSItemProvider.Block_loadObjectOfClassCompletionHandler() {
                    @Override
                    public void call_loadObjectOfClassCompletionHandler(@Nullable Object object, @Nullable NSError error) {
                        UIImage image = (UIImage) object;
                       
                    }
                });

            }
    }

Error:
java.lang.ClassCastException: apple.NSObject cannot be cast to apple.photosui.PHPickerResult

@sebastian
Can you try to forcefully initialize the class at app startup?
Like Class.forName("apple.photosui.PHPickerResult") or similar.

@Berstanio I added as static block in my main class :

    static {
        try {
            Class.forName(PHPickerResult.class.getName());
            //"apple.photosui.PHPickerResult"
        } catch (ClassNotFoundException e) {
           
        }
    }

It works and as expected I can get PHPickerResult from NsArray. Thank you for your suggestion.
But I have encountered another problem which I couldn’t solve such that,
NSItemProvider object which comes from PHPickerResult object has
canLoadObjectOfClass method that expect a parameter NSItemProviderReading.


    @Generated
    @Selector("canLoadObjectOfClass:")
    public native boolean canLoadObjectOfClass(@NotNull @Mapped(ObjCObjectMapper.class) NSItemProviderReading aClass);

As I understand UIImage implements NSItemProviderReading interface

@ObjCClassBinding
public class UIImage extends NSObject implements NSSecureCoding, NSItemProviderReading, NSItemProviderWriting,
        UIItemProviderPresentationSizeProviding, UIAccessibilityIdentification {

and sample objectivec codes like below that should be:

if ([result.itemProvider canLoadObjectOfClass:[UIImage class]]) {

With moe I tried that versions but I couldn’t make it work :

 Class c = UIImage.new_objc().class_objc();
 if (provider.canLoadObjectOfClass((NSItemProviderReading) c))

or

if (provider.canLoadObjectOfClass(UIImage.new_objc()))

@sebastian
Probably a binding-generator error, canLoadObjectOfClass should take a Class object.
I will take a look.

Thank you @Berstanio ,
Meanwhile I continue to use UIImagePickerController it still works.