The NADCONTransform constructor takes two URIs which point to the location of grid shift files. In a deployed Java application, these URIs are generally obtained via something like:
URL lonFile = getClass().getResource( );
URL latFile = getClass().getResource( );
NADCONTransform transform = NADCONTransform( latFile.toURI(), lonFile.toURI() );
However, the ClasspathGridShiftLocator essentially locates files by using the ClassLoader and looking for the file inside the classpath. The URI works out to be an absolute path prefixed with [file:] - file:, so this is never found in the classpath.
In fact, it is impossible to craft an URI that is usable by the ClasspathGridShiftLocator, thus rendering NADCONTransform unusable in this fashion.
Additionally, NADCONTransform contains lots of legacy code and comments about preferences that are confusing as they are no longer referenced outside the test case that is present inside the file.