code: public static CopyableFileFilter instantiateCopyableFileFilter(Properties props, Object... additionalArgs) {
  
      if (!props.containsKey(COPYABLE_FILE_FILTER_KEY)) {
        return ACCEPT_ALL_COPYABLE_FILE_FILTER;
      }
  
      try {
        Class<?> copyableFileFilterClass = Class.forName(props.getProperty(COPYABLE_FILE_FILTER_KEY));
        return (CopyableFileFilter) GobblinConstructorUtils
            .invokeLongestConstructor(copyableFileFilterClass, additionalArgs);
      } catch (ReflectiveOperationException exception) {
        throw new RuntimeException(exception);
      }
    }
docs: Instantiate a {@link CopyableFileFilter} from the class name at key {@link #COPYABLE_FILE_FILTER_KEY} in props
  passed. If key {@link #COPYABLE_FILE_FILTER_KEY} is not set, a default {@link #ACCEPT_ALL_COPYABLE_FILE_FILTER} is
  returned
  
  @param props that contain path filter classname at {@link #COPYABLE_FILE_FILTER_KEY}
  @return a new instance of {@link PathFilter}. If not key is found, returns an
  {@link #ACCEPT_ALL_COPYABLE_FILE_FILTER}