private RVFDatum<String,String> makeRVFDatumFromLine(String line, int lineNo) {
    if (globalFlags.featureFormat) {
      String[] fields = tab.split(line);
      ClassicCounter<String> theFeatures = new ClassicCounter<String>();
      for (int i = 0; i < fields.length; i++) {
        if (i != globalFlags.goldAnswerColumn) {
          if (flags[i] != null && (flags[i].isRealValued || flags[i].logTransform || flags[i].logitTransform || flags[i].sqrtTransform)) {
            addFeatureValue(fields[i], flags[i], theFeatures);
          } else {
            theFeatures.setCount(fields[i], 1.0);
          }
        }
      }

      return new RVFDatum<String,String>(theFeatures, fields[globalFlags.goldAnswerColumn]);
    } else {
      String[] wi = makeSimpleLineInfo(line, lineNo);
      // System.err.println("Read in " + wi);
      return makeRVFDatum(wi);
    }
  }