>Though I can use ReflectionToStringBuilder.reflectionToString to write
>and get rid of Cyclic issue, when writing the Order_Allocs object, it
>will write back the information on Orders, so duplicate set of
>information will be logged.
I would just put a boolean in each object initially false.
Then write a recursive method to chase the ordinary pointers you have
in your method, turning on the booleans as you start processing an
object after you finish you go. You add the addresses to an ArrayList
as you go. You return when or it is already marked an object as
processed.you have explored all the pointers out of an object. It is
much like traversing a tree. There is no need for reflection or aux
objects.

Signature
Roedy Green Canadian Mind Products
The Java Glossary
http://mindprod.com