public Pipeline<T> set(int index, String name, Predicate<T> predicate) {
		Preconditions.checkArgument(predicate != null, 
				"Parameter 'predicate' must not be [" + predicate + "]");
		stages.add(index, predicate);
		names.put(predicate, name);
		return this;
	}
public Pipeline<T> set(int index, String name, Predicate<T> predicate) {
		Preconditions.checkArgument(predicate != null, 
				"Parameter 'predicate' must not be [" + predicate + "]");
		stages.add(index, predicate);
		names.put(predicate, name);
		return this;
	}
public Pipeline < T > set ( int index , String name , Predicate < T > predicate ) { Preconditions . checkArgument ( predicate != null , "Parameter 'predicate' must not be [" + predicate + "]" ) ; stages . add ( index , predicate ) ; names . put ( predicate , name ) ; return this ; }
Sets the specified {@code Predicate} to the next processing stage with
the specified index and stage name.

@param index The index the specified {@code Predicate} to be set.
@param name The stage name.
@param predicate The {@code Function} set to the next processing stage.
@return This {@code Pipeline} instance.
Sets the specified { @code Predicate } to the next processing stage with the specified index and stage name .