code: private InputSplitAssigner loadInputSplitAssigner(final Class<? extends InputSplit> inputSplitType) {
  
  		final String className = inputSplitType.getName();
  		
  		final String assignerKey = INPUT_SPLIT_CONFIG_KEY_PREFIX + className;
  		LOG.info("Trying to load input split assigner for type " + className);
  
  		String assignerClassName = GlobalConfiguration.getString(assignerKey, null);
  
  		// Provide hard-wired default configuration for FileInputSplit objects to make configuration more robust
  		if (assignerClassName == null) {
  			if (FileInputSplit.class == inputSplitType) {
  				return new FileInputSplitAssigner();
  			}
  			else if (GenericInputSplit.class == inputSplitType) {
  				return new DefaultInputSplitAssigner();
  			}
  			else {
  				return null;
  			}
  		}
  
  		try {
  			final Class<? extends InputSplitAssigner> assignerClass =
  					Class.forName(assignerClassName).asSubclass(InputSplitAssigner.class);
  			return assignerClass.newInstance();
  		}
  		catch (Exception e) {
  			LOG.error(StringUtils.stringifyException(e));
  		}
  
  		return null;
  	}
docs: Attempts to find the responsible type of {@link InputSplitAssigner} for the given type of input split from the
  configuration and instantiate an object for it.
  
  @param inputSplitType
  the type of input split to load the {@link InputSplitAssigner} for
  @return the newly loaded {@link InputSplitAssigner} object or <code>null</code> if no such object could be
  located or loaded