void shares(AndroidJavaObject jShares)
    {
        int size = jShares.Call <int>("size");
        List <MegacoolShare> result = new List <MegacoolShare>(size);

        for (int i = 0; i < size; i++)
        {
            AndroidJavaObject jShare = jShares.Call <AndroidJavaObject>("get", i);
            MegacoolShare     share  = MegacoolAndroidAgent.BuildShare(jShare);
            result.Add(share);
        }
        shareHandler(result);
    }
    bool accept(AndroidJavaObject jShare)
    {
        MegacoolShare share = MegacoolAndroidAgent.BuildShare(jShare);

        return(filter(share));
    }
    void receivedShareOpened(AndroidJavaObject jEvent)
    {
        MegacoolReceivedShareOpenedEvent megacoolEvent = MegacoolAndroidAgent.BuildReceivedShareOpenedEvent(jEvent);

        eventHandler.ReceivedShareOpened(megacoolEvent);
    }
    void sentShareOpened(AndroidJavaObject jEvent)
    {
        MegacoolSentShareOpenedEvent megacoolEvent = MegacoolAndroidAgent.BuildSentShareOpenedEvent(jEvent);

        eventHandler.SentShareOpened(megacoolEvent);
    }
    void linkClicked(AndroidJavaObject jEvent)
    {
        MegacoolLinkClickedEvent megacoolEvent = MegacoolAndroidAgent.BuildLinkClickedEvent(jEvent);

        eventHandler.LinkClicked(megacoolEvent);
    }