log.trace("getAuthorityChildSegments()");
// check authority
if (parent == null) throw new NullPointerException();
if (! (parent instanceof DbAuthority)) throw new StoreNotFoundException("Parent authority is not from this store.");
// start database session
Session session = this.getSessionFactory().getCurrentSession();
// get subsegments that have this authority as parent
Set<DbSubSegment> subSegments;
try {
session.beginTransaction();
reattach(session, parent);
subSegments = ((DbAuthority)parent).getChildren();
Hibernate.initialize(subSegments);
if (subSegments == null) throw new StoreNotFoundException("Subsegments do not exist.");
session.getTransaction().commit();
} catch (StoreException ex) {
log.error("", ex);