Index: shared/ldap/trunk/apache-provider/src/java/org/apache/ldap/common/berlib/asn1/decoder/search/AndRule.java =================================================================== --- shared/ldap/trunk/apache-provider/src/java/org/apache/ldap/common/berlib/asn1/decoder/search/AndRule.java (revision 159032) +++ shared/ldap/trunk/apache-provider/src/java/org/apache/ldap/common/berlib/asn1/decoder/search/AndRule.java (working copy) @@ -138,7 +138,8 @@ while( getDigester().peek() instanceof ExprNode ) { - node.addNode( ( ExprNode ) getDigester().pop() ); + // TODO correct obvious performance hit here if this code stays around. + node.addNodeToHead( ( ExprNode ) getDigester().pop() ); } if ( getDigester().peek() == this ) @@ -154,10 +155,6 @@ throw new IllegalStateException( msg ); } - StringBuffer strbuf = new StringBuffer( ); - - node.printToBuffer( strbuf ); - getDigester().push( node ); } Index: shared/ldap/trunk/apache-provider/src/java/org/apache/ldap/common/berlib/asn1/decoder/search/OrRule.java =================================================================== --- shared/ldap/trunk/apache-provider/src/java/org/apache/ldap/common/berlib/asn1/decoder/search/OrRule.java (revision 159033) +++ shared/ldap/trunk/apache-provider/src/java/org/apache/ldap/common/berlib/asn1/decoder/search/OrRule.java (working copy) @@ -140,7 +140,8 @@ while( getDigester().peek() instanceof ExprNode ) { - node.addNode( ( ExprNode ) getDigester().pop() ); + // TODO correct obvious performance hit here if this code stays around. + node.addNodeToHead( ( ExprNode ) getDigester().pop() ); } if ( getDigester().peek() == this ) @@ -156,10 +157,6 @@ throw new IllegalStateException( msg ); } - StringBuffer strbuf = new StringBuffer( ); - - node.printToBuffer( strbuf ); - getDigester().push( node ); }