public List<PackagingElement<?>> getAllElements() {
    List<PackagingElement<?>> result = new SmartList<>();
    PackagingElementPath path = this;
    while (path != EMPTY) {
      result.add(path.myLastElement);
      path = path.myParentPath;
    }
    return result;
  }
public List<PackagingElement<?>> getAllElements()