private SpatialStructureDTO createSpatialStuctureDTOFrom(IMoBiSpatialStructure spatialStructure)
        {
            var dto = new SpatialStructureDTO();

            dto.Id   = spatialStructure.Id;
            dto.Name = spatialStructure.Name;
            dto.Icon = spatialStructure.Icon;

            if (_localisation.Is(Localisations.ContainerOnly))
            {
                dto.TopContainer = spatialStructure.TopContainers.MapAllUsing(_dtoContainerMapper);
            }

            if (_localisation.Is(Localisations.NeighborhoodsOnly))
            {
                dto.Neighborhoods = _dtoContainerMapper.MapFrom(spatialStructure.NeighborhoodsContainer);
            }

            if (_localisation.Is(Localisations.Everywhere))
            {
                dto.TopContainer  = spatialStructure.TopContainers.MapAllUsing(_dtoContainerMapper);
                dto.Neighborhoods = _dtoContainerMapper.MapFrom(spatialStructure.NeighborhoodsContainer);
            }

            return(dto);
        }
        private ITreeNode getSpatialStructureNode(SpatialStructureDTO dtoSpatialStructure)
        {
            var spatialStructureNode = _nodeMapper.MapFrom(dtoSpatialStructure);

            if (dtoSpatialStructure.MoleculeProperties != null)
            {
                spatialStructureNode.AddChild(_nodeMapper.MapFrom(dtoSpatialStructure.MoleculeProperties));
            }
            if (dtoSpatialStructure.TopContainer != null && dtoSpatialStructure.TopContainer.Any())
            {
                dtoSpatialStructure.TopContainer.Each(dto => spatialStructureNode.AddChild(_nodeMapper.MapFrom(dto)));
            }
            if (dtoSpatialStructure.Neighborhoods != null)
            {
                spatialStructureNode.AddChild(_nodeMapper.MapFrom(dtoSpatialStructure.Neighborhoods));
            }
            return(spatialStructureNode);
        }