Navigating associations

ArrayList<Individual> res = new ArrayList<Individual>();
Individual i = ... ; // get hold of my jena individual
StmtIterator it = i.listProperties();
while (it.hasNext()) {
  Statement s = it.nextStatement();
  if (s.asTriple().getPredicate().getLocalName().equals("<relation_name>")) {
    RDFNode node = s.getObject();
      if (node.canAs(Individual.class)) {
        Individual associationEnd = (Individual)node.as(Individual.class);
        res.add(toOntoInstance(associationEnd, targetTypeConcept));                    
      }
  }
}
return res;