package com.revolsys.visitor; import java.util.Comparator; import java.util.function.Predicate; public class BaseVisitor<T> extends AbstractVisitor<T> { public BaseVisitor() { } public BaseVisitor(final Comparator<T> comparator) { super(comparator); } public BaseVisitor(final Predicate<T> filter) { super(filter); } public BaseVisitor(final Predicate<T> filter, final Comparator<T> comparator) { super(filter, comparator); } @Override public void accept(final T object) { final Predicate<T> predicate = getPredicate(); if (predicate.test(object)) { acceptDo(object); } } protected void acceptDo(final T object) { } }