Data Map class can fail in a confusing way if constructed incorrectly

Protect against class consumer using a recursive data map creation callback.  Pretty easy to detect the condition and report it.