'print object using the specified indent (n) and newline (nl).'

def process(self, object, h, n=0, nl=False):

    if (object is None):
        return 'None'
    if isinstance(object, Object):
        if (len(object) == 0):
            return '<empty>'
        else:
            return self.print_object(object, h, (n + 2), nl)
    if isinstance(object, dict):
        if (len(object) == 0):
            return '<empty>'
        else:
            return self.print_dictionary(object, h, (n + 2), nl)
    if isinstance(object, (list, tuple)):
        if (len(object) == 0):
            return '<empty>'
        else:
            return self.print_collection(object, h, (n + 2))
    if isinstance(object, basestring):
        return ('"%s"' % tostr(object))
    return ('%s' % tostr(object))
