protected Iterator<Object> getValueIterator(PriorityQueue<KeyValue<Object,Object>> inputQ){
        ArrayList<Object> valueList = new ArrayList<Object>();
        
        if(inputQ.isEmpty())
            return null;
        KeyValue<Object, Object> keyValuePair = inputQ.peek();
        valueList.add(keyValuePair.getValue());
        inputQ.remove();
        if(inputQ.isEmpty()){
            return valueList.iterator();
        }

            
            do{
                KeyValue<Object, Object> keyValuePairNext = inputQ.peek();
                if(keyValuePairNext != null){
                    if(keyValuePair.compareTo(keyValuePairNext) == 0){
                        valueList.add(keyValuePairNext.getValue());
                        inputQ.remove();
                    }
                    else{
                        
                        break;
                    }
                }
                else{
                    break;
                }
                   
            }while(true);
        return valueList.iterator();
        
    
   }