use of org.apache.cassandra.utils.Shared in project cassandra by apache.
the class AbstractCluster method expand.
private static Stream<Class<?>> expand(Class<?> clazz, Set<Class<?>> done) {
Optional<Shared> maybeShared = of(clazz.getDeclaredAnnotationsByType(Shared.class)).findFirst();
if (!maybeShared.isPresent())
return Stream.of(clazz);
Shared shared = maybeShared.get();
if (shared.inner() == NONE && shared.members() == NONE && shared.ancestors() == NONE)
return Stream.of(clazz);
Set<Class<?>> closure = new HashSet<>();
forEach(closure::add, new SharedParams(shared), clazz, done);
return closure.stream();
}