internal static Invitation ToInvitation(AndroidJavaObject invitation) { string invitationId = invitation.Call <string>("getInvitationId"); int invitationType = invitation.Call <int>("getInvitationType"); int variant = invitation.Call <int>("getVariant"); long creationTimestamp = invitation.Call <long>("getCreationTimestamp"); System.DateTime creationTime = AndroidJavaConverter.ToDateTime(creationTimestamp); using (var participant = invitation.Call <AndroidJavaObject>("getInviter")) { return(new Invitation( AndroidJavaConverter.FromInvitationType(invitationType), invitationId, AndroidJavaConverter.ToParticipant(participant), variant, creationTime)); } }