question: public void registerDenseFeatures ( ArrayList < FeatureFunction > featureFunctions ) { for ( FeatureFunction feature : featureFunctions ) { ArrayList < String > names = feature . reportDenseFeatures ( denseFeatures . size ( ) ) ; for ( String name : names ) { DENSE_FEATURE_NAMES . add ( name ) ; denseFeatures . add ( getSparse ( name ) ) ; sparseFeatures . remove ( name ) ; } } }
target:  Register one or more dense features with the global weight vector. This assumes them global IDs, and then returns the index of the first feature (from which the calling feature function can infer them all). This *must* be called by every feature function wishing to register dense features!