both make use of BlackFunctionData. My first impression was that one had to pass in Black vol and somewhere within there was a equivalent vol transformation to normal vol. On closer inspection, that is not the case, one has to set normal vol on an object called BlackFunctionData and access it using BlackFunctionData.getBlackVolatility()
Switching to BlackFunctionData.getVolatility() might improve things slightly, but surely you need to use NormalFunctionData to avoid confusion.
I think you aware of this, I see comment in NormalPriceFunction.