code: public static <T, IS extends InputSplit, F extends InputFormat<T, IS>> F openInput(
  			Class<F> inputFormatClass, Configuration configuration) throws IOException {
  		configuration = configuration == null ? new Configuration() : configuration;
  
  		final F inputFormat = ReflectionUtil.newInstance(inputFormatClass);
  		inputFormat.configure(configuration);
  		final IS[] splits = inputFormat.createInputSplits(1);
  		inputFormat.open(splits[0]);
  		return inputFormat;
  	}
docs: Creates an {@link InputFormat} from a given class. The optional {@link Configuration}
  initializes the format.
  
  @param <T>
  the class of the InputFormat
  @param inputFormatClass
  the class of the InputFormat
  @param configuration
  optional configuration of the InputFormat
  @return the created {@link InputFormat}
  @throws IOException
  if an I/O error occurred while accessing the file or initializing the InputFormat.