src/main/java/org/eiichiro/bootleg/Pipeline.java
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.