class ThemisRead extends ThemisRequest {

  public ThemisRead setFilter(Filter filter) throws IOException {
    ThemisCpUtil.processFilters(filter, new FilterCallable() {
      public void processConcreteFilter(Filter filter) throws IOException {
        Class<? extends Filter> filterCls = filter.getClass();
        if (ThemisCpUtil.DISALLOWD_FILTERS.contains(filterCls)) {
          throw new IOException("themis read disallow this filter, filter="
              + filter.getClass().getName() + ", all disallowed filters : "
              + ThemisCpUtil.getDisallowedFilterClassNameString());
        }
      }
    });
    return setFilterWithoutCheck(filter);
  }

}