public Directory getDirectory(String path) throws HibernateException {
String[] pathElements = path.split("/");
Directory dir = getRootDirectory();
Session session = ThreadSession.get();
for (int i = 1; i < pathElements.length; i++) {
List subdirectory = session.createQuery(
"from dir in "+Directory.class+" where dir.parent = :parent and dir.name = :name").
setParameter("parent", dir, Hibernate.entity(Directory.class)).
setParameter("name", pathElements[i]).
setMaxResults(1).list();
if (subdirectory.size() > 0) {