Move this child to a new parent with a new name. When the move succeeded this builder has been moved to {@code newParent} as child {@code newName}. Otherwise neither this builder nor {@code newParent} are modified.
The move succeeds if both, this builder and {@code newParent} exist, there is no child with{@code newName} at {@code newParent} and {@code newParent} is not in the subtree of thisbuilder.
The move fails if the this builder or {@code newParent} does not exist or if there isalready a child {@code newName} at {@code newParent}.
For all remaining cases (e.g. moving a builder into its own subtree) it is left to the implementation whether the move succeeds or fails as long as the state of the involved builder stays consistent.
@param newParent builder for the new parent.
@param newName name of this child at the new parent
@return {@code true} on success, {@code false} otherwise