class CommunitySetExprVarCollector implements CommunitySetExprVisitor<Set<CommunityVar>, Configuration> {

  @Override
  public Set<CommunityVar> visitCommunitySetDifference(
      CommunitySetDifference communitySetDifference, Configuration arg) {
    Set<CommunityVar> s1 = communitySetDifference.getInitial().accept(this, arg);
    Set<CommunityVar> s2 =
        communitySetDifference
            .getRemovalCriterion()
            .accept(new CommunityMatchExprVarCollector(), arg);
    return ImmutableSet.<CommunityVar>builder().addAll(s1).addAll(s2).build();
  }

}