code: @SuppressWarnings("unchecked")
    protected FileInputFormat<K, V> getFileInputFormat(State state, Configuration configuration) {
      Preconditions.checkArgument(state.contains(FILE_INPUT_FORMAT_CLASS_KEY));
      try {
        return (FileInputFormat<K, V>) ReflectionUtils
            .newInstance(Class.forName(state.getProp(FILE_INPUT_FORMAT_CLASS_KEY)), configuration);
      } catch (ClassNotFoundException cnfe) {
        throw new RuntimeException(cnfe);
      }
    }
docs: Get a {@link FileInputFormat} instance used to get {@link FileSplit}s and a {@link RecordReader}
  for every {@link FileSplit}.
  
  <p>
  This default implementation simply creates a new instance of a {@link FileInputFormat} class
  specified using the configuration property {@link #FILE_INPUT_FORMAT_CLASS_KEY}.
  </p>
  
  @param state a {@link State} object carrying configuration properties
  @param configuration a Hadoop {@link Configuration} object carrying Hadoop configurations
  @return a {@link FileInputFormat} instance