and.addChild( forall.getBasePattern() );
final GroupElement not2 = GroupElementFactory.newNotInstance();
not2.setForallBaseObjectType( forall.getBasePattern().getObjectType() );
if ( forall.getRemainingPatterns().size() == 1 ) {
not2.addChild( (Pattern) forall.getRemainingPatterns().get( 0 ) );
and.addChild( not2 );
} else if ( forall.getRemainingPatterns().size() > 1 ) {
final GroupElement and2 = GroupElementFactory.newAndInstance();
for ( final Iterator it = forall.getRemainingPatterns().iterator(); it.hasNext(); ) {
and2.addChild( (Pattern) it.next() );