/*
  * (non-Javadoc)
  *
  * @see de.parsemis.general.StackList#split(de.parsemis.general.MiningStack)
  */
 public synchronized boolean split(final MiningStack<NodeType, EdgeType> empty) {
   if (INFO) {
     stats.splitTime -= System.currentTimeMillis();
   }
   for (ListItem<MiningStack<NodeType, EdgeType>> ack = this.next; ack != this; ack = ack.next) {
     if (ack.elem.split(empty)) {
       _remove(ack);
       _add(ack);
       if (INFO) {
         stats.splitTime += System.currentTimeMillis();
       }
       return true;
     }
   }
   if (INFO) {
     stats.splitTime += System.currentTimeMillis();
   }
   return false;
 }