public boolean removeAll(Collection<?> c) {
if (contains(c)) {
for (Object o : c) {
boolean removed = false;
for (int i = 0; i < kReSRules.length && !removed; i++) {
Rule semionRule = kReSRules[i];
if (semionRule.equals(o)) {
Rule[] semionRulesCopy = new Rule[kReSRules.length - 1];
System.arraycopy(kReSRules, 0, semionRulesCopy, 0, i);
System.arraycopy(kReSRules, i + 1, semionRulesCopy, 0,
semionRulesCopy.length - i);
kReSRules = semionRulesCopy;