Changes and bug fixes in JGL 2.0.2 (3-12-97):

* Fixed OrderedSet.put(); it wasn't replacing values as it should have.
* Made InsertResult an inner class.
* Changed full name of library from "Java(tm) Generic Library" to "JGL: 
  Generic Collection Library for Java(tm)."

Changes and bug fixes in JGL 2.0.1 (2-19-97):

* Added classes DividesNumber, MinusNumber, ModulusNumber, NegateNumber,
  PlusNumber, TimesNumber, GreaterEqualNumber, GreaterNumber, LessEqualNumber,
  LessNumber, NegativeNumber, PositiveNumber, EqualNumber, and NotEqualNumber;
  deprecated similar *Integer family
* Deprecated classes HashMultiMap, HashMultiSet, OrderedMultiMap, and
  OrderedMultiSet; added the functionality into the various Maps and Sets.
* Added Counting.accumulate() and Counting.adjacentDifference() algorithms.
* Improved synchronized usage in the containers.
* Added InstanceOf function object.
* remove() methods that can erase more than one object now return the number
  of objects erased except for in containers derived from Dictionary
* Deprecated abstract class Map.
* Removed classes GreatedCollatedString, GreaterEqualCollatedString,
  LessCollatedString, and LessEqualCollatedString because the class
  java.text.CollatedString was removed from the JDK
* Renamed comparator classes LessCollation, LessEqualCollation, 
  GreaterCollation, GreaterEqualCollation to LessCollator, etc. because of the
  underlying name changes in JDK 1.1
* Renamed comparator classes LessSortKey, LessEqualSortKey, 
  GreaterSortKey, GreaterEqualSortKey to LessCollationKey, etc. because of the
  underlying name changes in JDK 1.1
* Added comparator classes EqualCollator, NotEqualCollator, EqualCollationKey,
  NotEqualCollationKey, EqualString, NotEqualString


Changes and bug fixes in JGL 2.0 (1-22-97):

* Added Serialization support to all containers. Iterators from any JGL
  sequential container may also be serialized.
* Added ObjectOutputStreamIterator, an iterator that can be used to easily
  write objects to an ObjectOutputStream.
* Made TreeNode, DListNode, SListNode, HashMapNode, and HashSetNode inner
  classes.
* Added comparator classes LessCollation, LessEqualCollation, 
  GreaterCollation, GreaterEqualCollation, LessSortKey, LessEqualSortKey, 
  GreaterSortKey, GreaterEqualSortKey, LessCollatedString, 
  LessEqualCollatedString, GreaterCollatedString, and 
  GreaterEqualCollatedString.
* Changed package name to COM.objectspace.jgl as suggested in
  Section 6.8.1 of the Java language specification.
* Added SwappedBinaryPredicate, a function object that returns the result of
  applying its operands to a BinaryPredicate in the opposite order they
  were received.
* Added allowExpansion() and expansionAllowed() to the hashing containers
* Implemented Pair.hashCode().
* Made Pair aware of nulls.
* Made Printing.toString() public.
* Made SList.add() synchronized.
* Fixed problem with OutOfBoundsException being erroneously thrown from
  Array.insert().
* Deque.pushFront() now works with an empty collection.
* HashMap.equalRange() and HashSet.equalRange() now return
  Range( end(), end() )
  instead of null when elements not found.
* Added classes HashMultiMap, HashMultiSet, OrderedMultiMap, and
  OrderedMultiSet, deprecating the duplicate functionality of Maps and Sets.
* Added default constructors to adaptive arrays.
* Fixed problem with OrderedMap.lowerBound() and .upperBound().
* Added delimiter to OutputStreamIterator.
* Added remove( Object, int ) to most containers.
* Added lowerBound() and upperBound() to HashSet and HashMap.
* Improved Hashing.orderedHash().
* Added Set.count().
* Added abstract class Map.
* Concrete ForwardIterators (from HashMap, HashSet, and SList) now throw an
  exception when advance() is passed a negative offset.
* Added Array.setSize(), mirroring the functionality of
  java.util.Vector.setSize().