<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def Draw(self, stoplist=None, triplist=None, height=520):
 """Main interface for drawing the marey graph. If called without arguments, the data generated in the previous call will be used. New decorators can be added between calls. Args: # Class Stop is defined in transitfeed.py # Class Trip is defined in transitfeed.py Returns: # A string that contain a svg/xml web-page with a marey graph. """

    output = str()
    if not triplist:
      triplist = []
    if not stoplist:
      stoplist = []

    if not self._cache or triplist or stoplist:
      self._gheight = height
      self._tlist=triplist
      self._slist=stoplist
      self._decorators = []
      self._stations = self._BuildStations(stoplist)
      self._cache = "%s %s %s %s" % (self._DrawBox(),
                                      self._DrawHours(),
                                      self._DrawStations(),
                                      self._DrawTrips(triplist))



    output = "%s %s %s %s" % (self._DrawHeader(),
                              self._cache,
                              self._DrawDecorators(),
                              self._DrawFooter())
    return output