code: public DSet difference(DSet otherSet)
      {
          DSetImpl result = new DSetImpl(getPBKey());
          Iterator iter = this.iterator();
          while (iter.hasNext())
          {
              Object candidate = iter.next();
              if (!otherSet.contains(candidate))
              {
                  result.add(candidate);
              }
          }
          return result;
      }
docs: Create a new <code>DSet</code> object that contains the elements of this
  collection minus the elements in <code>otherSet</code>.
  @param	otherSet	A set containing elements that should not be in the result set.
  @return	A newly created <code>DSet</code> instance that contains the elements
  of this set minus those elements in <code>otherSet</code>.