RecursionGuard.java
package com.codeaffine.extras.ide.internal.resourcefilter;
import static java.util.Collections.synchronizedSet;
import java.util.HashSet;
import java.util.Set;
class RecursionGuard {
private final Set<Object> projects;
RecursionGuard() {
projects = synchronizedSet( new HashSet<>() );
}
boolean isInUse( Object resource ) {
return projects.contains( resource );
}
void enter( Object resource ) {
projects.add( resource );
}
void leave( Object resource ) {
projects.remove( resource );
}
}