public static void initializeSession(SessionState sessionState,
                                             uint sessionVersion,
                                             SymmetricAxolotlParameters parameters)
        {
            if (isAlice(parameters.getOurBaseKey().getPublicKey(), parameters.getTheirBaseKey()))
            {
                AliceAxolotlParameters.Builder aliceParameters = AliceAxolotlParameters.newBuilder();

                aliceParameters.setOurBaseKey(parameters.getOurBaseKey())
                .setOurIdentityKey(parameters.getOurIdentityKey())
                .setTheirRatchetKey(parameters.getTheirRatchetKey())
                .setTheirIdentityKey(parameters.getTheirIdentityKey())
                .setTheirSignedPreKey(parameters.getTheirBaseKey())
                .setTheirOneTimePreKey(May <ECPublicKey> .NoValue);

                RatchetingSession.initializeSession(sessionState, sessionVersion, aliceParameters.create());
            }
            else
            {
                BobAxolotlParameters.Builder bobParameters = BobAxolotlParameters.newBuilder();

                bobParameters.setOurIdentityKey(parameters.getOurIdentityKey())
                .setOurRatchetKey(parameters.getOurRatchetKey())
                .setOurSignedPreKey(parameters.getOurBaseKey())
                .setOurOneTimePreKey(May <ECKeyPair> .NoValue)
                .setTheirBaseKey(parameters.getTheirBaseKey())
                .setTheirIdentityKey(parameters.getTheirIdentityKey());

                RatchetingSession.initializeSession(sessionState, sessionVersion, bobParameters.create());
            }
        }
        public static void initializeSession(SessionState sessionState,
                                             uint sessionVersion,
                                             SymmetricAxolotlParameters parameters)
        {
            if (isAlice(parameters.getOurBaseKey().getPublicKey(), parameters.getTheirBaseKey()))
            {
                AliceAxolotlParameters.Builder aliceParameters = AliceAxolotlParameters.newBuilder();

                aliceParameters.setOurBaseKey(parameters.getOurBaseKey())
                               .setOurIdentityKey(parameters.getOurIdentityKey())
                               .setTheirRatchetKey(parameters.getTheirRatchetKey())
                               .setTheirIdentityKey(parameters.getTheirIdentityKey())
                               .setTheirSignedPreKey(parameters.getTheirBaseKey())
                               .setTheirOneTimePreKey(May<ECPublicKey>.NoValue);

                RatchetingSession.initializeSession(sessionState, sessionVersion, aliceParameters.create());
            }
            else
            {
                BobAxolotlParameters.Builder bobParameters = BobAxolotlParameters.newBuilder();

                bobParameters.setOurIdentityKey(parameters.getOurIdentityKey())
                             .setOurRatchetKey(parameters.getOurRatchetKey())
                             .setOurSignedPreKey(parameters.getOurBaseKey())
                             .setOurOneTimePreKey(May<ECKeyPair>.NoValue)
                             .setTheirBaseKey(parameters.getTheirBaseKey())
                             .setTheirIdentityKey(parameters.getTheirIdentityKey());

                RatchetingSession.initializeSession(sessionState, sessionVersion, bobParameters.create());
            }
        }