code: public void addFilterAt(IRuleFilter filter, Class<? extends IRuleFilter> atFilter) {
          int index = getIndexOfClass(filters, atFilter);
          if (index == -1) {
              throw new FilterAddException("filter " + atFilter.getSimpleName() + " has not been added");
          }
          filters.remove(index);
          filters.add(index, filter);
      }
docs: replace filter
  @param filter
  @param atFilter