class OrFilter implements FilterSet {

  @Override
  public DEREncoder getEncoder()
  {
    if (filterComponents.size() == 0) {
      return new NullType(new ContextDERTag(Type.OR.ordinal(), true));
    } else {
      return new ConstructedDEREncoder(
        new ContextDERTag(Type.OR.ordinal(), true),
        filterComponents.stream().map(Filter::getEncoder).toArray(DEREncoder[]::new));
    }
  }

  public  OrFilter();
  public  OrFilter(final Filter... components);

}