Java implementation of nipa with extra features.