private Predicate[] removeEliminatedPredicates(Predicate[] originalPredicates, int toBeRemoved) { if (toBeRemoved == 0) { return originalPredicates; } int newSize = originalPredicates.length - toBeRemoved; Predicate[] newPredicates = new Predicate[newSize]; ArrayUtils.copyWithoutNulls(originalPredicates, newPredicates); return newPredicates; }