@Override public ArrayList<String> reportDenseFeatures(int index){
  denseFeatureIndex=index;
  ArrayList<String> names=new ArrayList<>();
  for (int i=0; i < phrase_weights.length; i++)   names.add(String.format("tm_%s_%d",owner,i));
  return names;
}

@ Override public ArrayList < String > reportDenseFeatures ( int index ) { denseFeatureIndex = index ; ArrayList < String > names = new ArrayList < > ( ) ; for ( int i = 0 ; i < phrase_weights . length ; i ++ ) names . add ( String . format ( "tm_%s_%d" , owner , i ) ) ; return names ; }
just register a single weight , tm_owner , and use that to set its precomputed cost
