In CombinatoricsVector
public CombinatoricsVector(int index, Collection<? extends T> vector) {
_vector = new ArrayList<T>(vector.size()-index);
_vector.addAll(index, vector);
}
In Factory
public static <T> ICombinatoricsVector<T> createVector(int index,
Collection<? extends T> collection) {
return new CombinatoricsVector<T>(index, collection);
}