// first split
AlphaNode alphaNode1_1 = ( AlphaNode ) alphaNode1.getSinkPropagator().getSinks()[0];
assertEquals( calculatePositiveMask(list("b"), sp), alphaNode1_1.getDeclaredMask( ) );
assertEquals( calculatePositiveMask(list("a", "b", "c"), sp), alphaNode1_1.getInferredMask() );
BetaNode betaNode1 = ( BetaNode ) alphaNode1_1.getSinkPropagator().getSinks()[0];
assertEquals( calculatePositiveMask(list("c"), sp), betaNode1.getRightDeclaredMask() );
assertEquals( calculatePositiveMask(list("a", "b", "c"), sp), betaNode1.getRightInferredMask() );
assertEquals( calculatePositiveMask(list("i"), sp), betaNode1.getLeftDeclaredMask() );
assertEquals( calculatePositiveMask(list("b", "i"), sp), betaNode1.getLeftInferredMask() );
// fist share, second alpha
AlphaNode alphaNode1_2 = ( AlphaNode ) alphaNode1.getSinkPropagator().getSinks()[1];
assertEquals( calculatePositiveMask(list("i"), sp), alphaNode1_2.getDeclaredMask( ) );
assertEquals( calculatePositiveMask(list("a", "i", "b", "j"), sp), alphaNode1_2.getInferredMask() );
AlphaNode alphaNode1_3 = ( AlphaNode ) alphaNode1_2.getSinkPropagator().getSinks()[0];
assertEquals( calculatePositiveMask(list("b"), sp), alphaNode1_3.getDeclaredMask( ) );
assertEquals( calculatePositiveMask(list("a", "i", "b", "j"), sp), alphaNode1_3.getInferredMask() );
BetaNode betaNode2 = ( BetaNode ) alphaNode1_3.getSinkPropagator().getSinks()[0];
assertEquals( calculatePositiveMask(list("j"), sp), betaNode2.getRightDeclaredMask() );
assertEquals( calculatePositiveMask(list("a", "i", "b", "j"), sp), betaNode2.getRightInferredMask() );
assertEquals( calculatePositiveMask(list("k"), sp), betaNode2.getLeftDeclaredMask() );
assertEquals( calculatePositiveMask(list("c", "k"), sp), betaNode2.getLeftInferredMask() );
}