code: public static NumericTermStream get(IndexReader reader, IndexFieldData indexFieldData) {
      if (indexFieldData instanceof IndexNumericFieldData) {
        IndexNumericFieldData numFieldData = (IndexNumericFieldData) indexFieldData;
        if (!numFieldData.getNumericType().isFloatingPoint()) {
          return new LongTermStream(reader, numFieldData);
        }
        else {
          throw new UnsupportedOperationException("Streaming floating points is unsupported");
        }
      }
      else {
        return new HashTermStream(reader, indexFieldData);
      }
    }
docs: Instantiates a new reusable {@link NumericTermStream} based on the field type.