<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def del_collection(self, service_name, collection_name, base_class=None):
 """ Deletes a collection for a given service. Fails silently if no collection is found in the cache. :param service_name: The service a given ``Collection`` talks to. Ex. ``sqs``, ``sns``, ``dynamodb``, etc. :type service_name: string :param collection_name: The name of the ``Collection``. Ex. ``QueueCollection``, ``NotificationCollection``, ``TableCollection``, etc. :type collection_name: string :param base_class: (Optional) The base class of the object. Prevents "magically" loading the wrong class (one with a different base). Default is ``default``. :type base_class: class """

         # Unlike ``get_collection``, this should be fire & forget.
        # We don't really care, as long as it's not in the cache any longer.
        try:
            classpath = self.build_classpath(base_class)
            opts = self.services[service_name]['collections'][collection_name]
            del opts[classpath]
        except KeyError:
            pass