case Apply(Tree fun, Tree[] args): traverse(fun); traverse(args); if(( args.length == 1 )&&TreeInfo.isEmptySequence(args[ 0 ])) result = false; return;
    public void traverse(Tree tree) {        //System.out.println("traverse:"+tree);    	if (!result)	    switch (tree) {	    case Alternative(_):		result = true;		break;	    case Bind(Name n, Tree pat):                if( TreeInfo.isNameOfStarPattern( n ) ) {                    result = true;                }		if( TreeInfo.isEmptySequence( pat ) ) {		    // annoying special case: b@() [or b@(()|()) after normalization]		    //System.err.println("bindin empty "+tree.symbol());		    nilVariables.add(tree.symbol());                    result = true;		} else {		    variables.add(tree.symbol());		}		traverse(pat);		break;	    case Ident(_):		Symbol symbol = tree.symbol();		if ((symbol != Global.instance.definitions.PATTERN_WILDCARD) &&		    variables.contains(symbol))		    result = true;		break;	    case CaseDef(Tree pat, _, _):		traverse(pat);		break;			    case Sequence( Tree[] trees):                if( trees.length == 0 ) {                    result = true;                    break;                } else traverse( trees );		//result = true;		break;                // Matthias PatternMatcher cannot handle this case                /*	    case Apply( Tree fn, Tree[] trees ):                if( trees.length == 1 )                     switch (trees[ 0 ]) {                    case Sequence( Tree[] trees2 ):                        if( trees2.length == 1 ) {                            switch (trees2[ 0 ]) {                            case Sequence( Tree[] trees3 ):                                result = true;                                break;                            }                            //System.out.println( fn );                            //System.out.println( tree.type() );                        } else super.traverse( tree );                        break;                    default:                         super.traverse( tree );                    }		break;                */	    default:		super.traverse( tree );	    }    }