private static synchronized Mixer mixer( boolean action, Mixer m )
    {
        if( action == SET )
        {
            if( m == null )
                return myMixer;

            MixerRanking mixerRanker = new MixerRanking();
            try
            {
                mixerRanker.rank( m.getMixerInfo() );
            }
            catch( LibraryJavaSound.Exception ljse )
            {
                SoundSystemConfig.getLogger().printStackTrace( ljse, 1 );
                SoundSystem.setException( ljse );
            }
            myMixer = m;
            mixerRanking( SET, mixerRanker );
            ChannelJavaSound c;
            if( instance != null )
            {
                ListIterator<Channel> itr =
                                          instance.normalChannels.listIterator();
                SoundSystem.setException( null );
                while( itr.hasNext() )
                {
                    c = (ChannelJavaSound) itr.next();
                    c.newMixer( m );
                }
                itr = instance.streamingChannels.listIterator();
                while( itr.hasNext() )
                {
                    c = (ChannelJavaSound) itr.next();
                    c.newMixer( m );
                }
            }
        }
        return myMixer;
    }