code: public DBag difference(DBag otherBag)
      {
          DBagImpl result = new DBagImpl(getPBKey());
          Iterator iter = this.iterator();
          while (iter.hasNext())
          {
              Object candidate = iter.next();
              if (!otherBag.contains(candidate))
              {
                  result.add(candidate);
              }
          }
          return result;
      }
docs: A new <code>DBag</code> instance is created that contains the difference of
  this object and the <code>DBag</code> instance referenced by <code>otherBag</code>.
  This method is similar to the <code>removeAll</code> method in <code>Collection</code>,
  except that this method creates a new collection and <code>removeAll</code>
  modifies the object to contain the result.
  @param	otherBag The other bag to use in creating the difference.
  @return A <code>DBag</code> instance that contains the elements of this object
  minus the elements in <code>otherBag</code>.