Changes history.

0.4.19 Several fixes in XMI and in Impl generation code.

0.4.18 Several small fixes in event handling code.

0.4.17 fixed bug in metamodel that caused a problem with not saved 
       tagged values. NSUML was adapted to work with ANT 1.2.

0.4.16 manifest in jar cased some problems on JDK 1.3

0.4.15 Generation of bag-list association was fixed. There was a bug 
       that caused exceptions in some situations.

0.4.14 Generation "add in position" reflective methods for list roles was 
       fixed (simple addRole(Object) was generating instead addRole(int, 
       Object)). TaggedValue toString have been changed.

0.4.13 Generation "add in position" methods for list roles was fixed (simple 
       add(Object) was generating instead add(int, Object)).

0.4.12 getModelElementContents() was fixed. Listeners/events processing was
       updated. Exporter generation was added in XMIWriter. JAXP interfaces are
       now using for XML processing. XML4J was replaced by Xerces.

0.4.11 References with superclasses names in XMIReader now processing correctly.
       Generation references in XMIWriter was also changed. getModel() function
       in MModelElement was fixed (getNamespace() scan was replaced by 
       getModelElementContainer()). JDOM was updated to version 1.0beta5.

0.4.10 XMI support was updated according to last UML model. CAUTION: model
       writed by this version cannot be readed correctly by previous versions 
       of nsuml, models saved by previos versions will be read.

0.4.9 XMI extensions support was reimplemented using JDOM (include preserving
      xmi.id collisions due XMI output). This is not final (and accurate)
      implementation, changes are possibly.

0.4.8 MultiplicityRange parsing was fixed again (no hopes).

0.4.7 MultiplicityRange parsing was fixed (hope finally). Dependency was made
      non-abstract class (we can reverse this decision in next version). Speed
      of XMIReader was significally improved on large models. XMIWriter writing
      style for links with multiplicity >1 has been changed.

0.4.6 Dependency from IBM's xml4j was removed, wutka's DTD parser is using for
      DTD processing.

0.4.5 Model.name bug was fixed in XMIReader. Signature of setModelElementContainer
      was changed. Call to setModelElementContainer for composite role setters
      was added. Stacktrace for more than one model element owner situation was
      added. Test .xmi files was fixed (invalid spaces in attributes was 
      deleted).

0.4.4 "*", "n", "N" and "unlimited" was added to valid values for lower and upper 
      attributes of MultiplicityRange. Some "[Error]"messages was replaced by 
      "[Warning]". Minor cosmetic fixes in XMIEventWriter. Encoding problems
      corrected ("UTF-8" always).

0.4.3 Some compatibility issues with IBM XMI Toolkit and Unisys XMI was fixed.
      Some bugs (uuid skipping in some cases, incorrect processing of invalid
      and not interesting elements and other) was fixed. Serialization was
      added. XMIWriter architecture was changed to SAX event-driving.

0.4.2 Typo errors in MMultiplicity and MMultiplicityRange was fixed.

0.4.1 XMIWriter model elements write order was changed. Exception
      IncompleteXMIModel for situation with encountering uncontained elements
      and function getNotContainedElements() was added. lookup() in
      MNamespaceImpl.user was fixed.

0.4.0 com.sun.java.util.collections was replaced by java.util. Multiple root 
      model elements reading/accessing was added in XMIReader. Ant build tool
      is now use for building project. XMIReaderDOM removed.

0.3.6 Various functions for mapping xmi.id, xmi.uuid and object was added. Some
      old functions (getXMIIDMap() and getObjectMap()) was renamed. toString()
      in MModelElement was added.

0.3.5 Another reincarnation of UML/XMI incompatibility names bug (at this time
      Transition/StateMachine and SubmachineState/StateMachine roles)
      was fixed.

0.3.4 Many changes and bugfixes in XMI readers.

0.3.3 Method getXMIIDByElement was removed from XMI readers, instead methods
      getObjectMap() and getXMIIDMap() was added in XMI readers and writer.

0.3.2 Method getXMIIDByElement was added in XMI readers.

0.3.1 XMIReader multiple objects in single tag bug was fixed.

0.3.0 Factory interface was added. XMI readers was renamed (XMIReaderSAX to
      XMIReader and XMIReader to XMIReaderDOM). getModelElementContainer() and
      getModelElementContents() was added to MBase. Some DTD search support
      was added. Bug in Multiplicity.equals() was fixed. Some other bugs was
      fixed.

0.2.3 Import java.util.HashMap was replaced to 
      com.sun.java.util.collections.HashMap in enumeration classes.
      XMIReader optimized (clone Node for XMI.extension tag).
      XMIWriter and XMIReaderSAX updated.

0.2.2 Some bugs in XMIReader fixed (many elements in one tag).

0.2.1 XMIReaderSAX and generator for it are added. Editor classes for datatypes
      are added.

0.2.0 The project was restructured.

0.1.8 XMIReader\XMIWriter generator is added. Some changes in generator API,
      metamodel (added attributes "xmi.name" and "navigable" to role element),
      xml generator.

0.1.7 XML generator was restored. It is named "xmlgen.ebs". 
      ru.novosoft.uml.MElementListener now extends java.util.Listener.

0.1.6 Fixed bug in undo support (logBagSet calls).

0.1.5 XMI.extension support is added. UML API generator and metamodel.xml
      changed. Now MBase and MBaseImpl are generated automatically.

0.1.4 Undo support is optimized. Now objects are not created when
      undo support is disabled. Fixed bug related to undo support.

0.1.3 main() in XMIReader.java, updated XMIWriter.java,
      modified main() in PetalToUml.java

0.1.2 added xmi.uuid support

0.1.1 added generator for UML API (with resources and custom/user code) and 
      generator for XMI support

0.1.0 release with XMI support (version numbering was started)
