Using layout.setArrangementOrigin(new Point(500,500)) almost satisfies my requirement, however this method only defines the top, left hand corner of the tree, not it’s center. Using my Use Case, this command will position my tree with a margin of top 500, left 500, right -100, bottom -100.
You could make your autolayout a 2 step process. First, let the autolayout algorithm perform the layout. Second, calculate the offset required to move the entire tree to the location you want. Then iterate through all the nodes on the diagram and set a new location by adding the offset to the current node location.