private void addPosition(final ClassifyPosition position) { ClassificationPlan pdc = aClassificationPlan(); for (ClassifyValue classifyValue : position.getValues()) { if (classifyValue.getFullPath() == null || classifyValue.getFullPath().isEmpty()) { Value value = new Value(); value.setAxisId(classifyValue.getAxisId()); String path = classifyValue.getValue(); path = path.substring(0, path.length() - 1); int indexOfTermId = path.lastIndexOf("/") + 1; value.setValuePK(new ValuePK(path.substring(indexOfTermId))); value.setPath(path.substring(0, indexOfTermId)); classifyValue.setFullPath(pdc.getPathInTreeOfValue(value)); } } position.setPositionId(positions.size()); positions.add(position); }