docs: protected synchronized void filter(ValueSet filterValueSet) {
          boolean explicitBufferEmpty = this.explicitBuffer.isEmpty();
          boolean scanBufferEmpty = this.scanBuffer.isEmpty();
          if (filterValueSet != null && !filterValueSet.isEmpty() && (!explicitBufferEmpty || !scanBufferEmpty)) {
              Iterator it = filterValueSet.iterator();
              while (it.hasNext()) {
                  Object o = it.next();
                  if (!explicitBufferEmpty && this.explicitBuffer.containsKey(o)) {
                      it.remove();
                  } else if (!scanBufferEmpty && this.scanBuffer.contains(o)) {
                      it.remove();
                  }
              }
          }
      }