public void Init(final int N) { Add(new SplitJoin() {
public void Init(final int K) { System.out.println ("K1 = " + K); Add (new SplitJoin() {
   public void Init(final int N) {      Add(new SplitJoin() {         public void Init() {            final int M = N;            SetSplitter(WEIGHTED_ROUND_ROBIN(N/2, N/2));            for(int i=0; i<2; i++)                            Add(new SplitJoin() {                  public void Init() {                     SetSplitter(ROUND_ROBIN ());                     Add(new Identity(Float.TYPE));                     Add(new Identity(Float.TYPE));                     SetJoiner (WEIGHTED_ROUND_ROBIN(M/4, M/4));               }});            SetJoiner(ROUND_ROBIN ());      }});      for(int i=2; i<N; i*=2)        Add(new Butterfly(new ParameterContainer ("").Add ("N", i).Add ("W", N)));    }