I think that this might be better `while (TokenUtils.moveNextToken(startCtx) && !startCtx.token.string.trim());` but I'm not sure if crockford will like it.

another thing that i'm wondering if `TokenUtils.moveNextToken()` returns false then we fall through and we're using the property name as the thing returned.  Perhaps that needs a unit test in the case of a malformed property at the end of the file.