code: public void deleteCascades(Object entity) {
  		if (entity != null) {
  			List<Field> fields = ClassUtil.getAnnotatedFields(entity.getClass(), Reference.class);
  			for (Field field : fields) {
  				Cascade[] cascades = ClassUtil.getFieldAnnotationValue("cascade", field, Reference.class, Cascade[].class);
  				if (Arrays.asList(cascades).contains(Cascade.DELETE)) {
  					Object referencedEntity = ClassUtil.getValueOfField(field, entity);
  					if(referencedEntity != null){
  						try {
  							apitraryDaoSupport.resolveApitraryEntityId(referencedEntity);
  							apitraryDaoSupport.delete(referencedEntity);
  						} catch (ApitraryOrmIdException aoie) {
  							/*
  							 * TODO find better way for exception without breaking th cascade flow
  							 */
  							log.warn(aoie);
  						}
  					}
  				}
  			}
  		}
  	}
docs: <p>
  deleteCascades.
  </p>
  
  @param entity
  a {@link java.lang.Object} object.