code: def find_snapshot(self, name_or_id):
          
          if not isinstance(name_or_id, basestring):
              raise TypeError("name_or_id can only be an instance of type basestring")
          snapshot = self._call("findSnapshot",
                       in_p=[name_or_id])
          snapshot = ISnapshot(snapshot)
          return snapshot
docs: Returns a snapshot of this machine with the given name or UUID.
          
          Returns a snapshot of this machine with the given UUID.
          A @c null argument can be used to obtain the first snapshot
          taken on this machine. To traverse the whole tree of snapshots
          starting from the root, inspect the root snapshot's
          :py:func:`ISnapshot.children`  attribute and recurse over those children.
  
          in name_or_id of type str
              What to search for. Name or UUID of the snapshot to find
  
          return snapshot of type :class:`ISnapshot`
              Snapshot object with the given name.
  
          raises :class:`VBoxErrorObjectNotFound`
              Virtual machine has no snapshots or snapshot not found.