@Override public Organization addOrg(Organization org, String parentId) { Organization parent = parentId == null ? null : dao.get(parentId); if (parent != null) { parent.addChildren(org); org.setParent(parent); org.setPosition(parent.getChildren().size() - 1); } save(org); if (org.getShouldBeforeAt() != null && org.getShouldBeforeAt().equals("-1") == false) { this.moveOrgBefore(org, org.getShouldBeforeAt()); } return org; }