Code with Finding: |
class Parameters {
/**
* If numbers is empty, return parameters, otherwise, return a subset of parameters
* whose ordinal number match these found in numbers.
*/
static private Iterator<Object[]> filterParameters(Iterator<Object[]> parameters,
List<Integer> list) {
if (list.isEmpty()) {
return parameters;
} else {
List<Object[]> result = Lists.newArrayList();
int i = 0;
while (parameters.hasNext()) {
Object[] next = parameters.next();
if (list.contains(i)) {
result.add(next);
}
i++;
}
return new ArrayIterator(result.toArray(new Object[list.size()][]));
}
}
}
|