}
long timeTaken = System.currentTimeMillis();
boolean previouslyDoneReduction = doneReduction;
if (queue == null)
{
queue = new Queue();
Iterator iterator = constraints.iterator();
Object obj;
reduceString = "Reduced: {";
while (iterator.hasNext())
{
obj = iterator.next();
queue.enqueue(obj);
reduceString = reduceString + obj.toString();
if ( iterator.hasNext() )
{
reduceString = reduceString + ",";
}
else
{
reduceString = reduceString + "}\n";
}
}
bubble(queue);
if ( SHOW_DEBUG_OUTPUT ) { printTree(); }
queue = null;
}
if ( !flaggedAsNull )
{
if ( doneReduction && cleared )
{
queue = new Queue();
Iterator iterator = constraints.iterator();
while (iterator.hasNext())
{
queue.enqueue(iterator.next());
}