code: public static List qualityList(Enumeration enm)
      {
          if(enm==null || !enm.hasMoreElements())
              return Collections.EMPTY_LIST;
  
          Object list=null;
          Object qual=null;
  
          // Assume list will be well ordered and just add nonzero
          while(enm.hasMoreElements())
          {
              String v=enm.nextElement().toString();
              Float q=getQuality(v);
  
              if (q.floatValue()>=0.001)
              {
                  list=LazyList.add(list,v);
                  qual=LazyList.add(qual,q);
              }
          }
  
          List vl=LazyList.getList(list,false);
          if (vl.size()<2)
              return vl;
  
          List ql=LazyList.getList(qual,false);
  
          // sort list with swaps
          Float last=__zero;
          for (int i=vl.size();i-->0;)
          {
              Float q = (Float)ql.get(i);
              if (last.compareTo(q)>0)
              {
                  Object tmp=vl.get(i);
                  vl.set(i,vl.get(i+1));
                  vl.set(i+1,tmp);
                  ql.set(i,ql.get(i+1));
                  ql.set(i+1,q);
                  last=__zero;
                  i=vl.size();
                  continue;
              }
              last=q;
          }
          ql.clear();
          return vl;
      }
docs: List values in quality order.
  @param enm Enumeration of values with quality parameters
  @return values in quality order.