code: def getPortSideView(self, side) -> List["LPort"]:
          
          if side == PortSide.WEST:
              return self.west
          elif side == PortSide.EAST:
              return self.east
          elif side == PortSide.NORTH:
              return self.north
          elif side == PortSide.SOUTH:
              return self.south
          else:
              raise ValueError(side)
docs: Returns a sublist view for all ports of given side.
  
          :attention: Use this only after port sides are fixed!
  
          This is currently the case after running the {@link org.eclipse.elk.alg.layered.intermediate.PortListSorter}.
          Non-structural changes to this list are reflected in the original list. A structural modification is any
          operation that adds or deletes one or more elements; merely setting the value of an element is not a structural
          modification. Sublist indices can be cached using {@link LNode#cachePortSides()}.
  
          :param side: a port side
          :return: an iterable for the ports of given side