As osunderdog says, there is a lot of important detail missing from your question. To give any sort of meaningful answer, we probably need to see:
- The code for RecursiveFunctionToDeleteValueWithinHash (I would urge you to consider a shorter name. This is, frankly, terrible.)
- The hash you're passing to DeleteValueTreeWithinHash (This name isn't as bad as the other, but still could be shortened considerably.)
- The line where you call DeleteValueTreeWithinHash, so we can see how you pass in the hash.