decided that Atomic things are abstract classes, not interfaces.
Moved type AtomiEntity.Impl to a file Impl
removed some compile errors, but left all those regarding cross-visitor
methods not being implemented
enacted class AtomicEntity (it is not abstract!)
bottom up construction: the two ground classes are 
AtomicForm and AtomicEntity, the two most elementary structures.
They have a point of contact, an AtomicEntity with a null origin may be
equal to an Entity. Must catch this with a Structure cross-visitor.
AbstractForm is now a subclass of AbstractStructure
realized that in DommainVisitorFactory, supposed to generate visitors
on the fly, the things return are static!! error to be fixed.
It was done correctly in StructureVisitorFactory.
Using getClass().cast() to avoid typos (is there an overhead?)
Some interesting code in the cross visitors....