@classmethod
def get(cls, top, parent=None):
    """
        Gather all the Overlay information for a switch
        The overlay object does not have a corresponding object in the APIC
        so does not cause a direct read of the APIC itself.  The children,
        tunnels, of the ConcreteOverlay are what trigger the read of the APIC.

        :param parent:
        :param top: the topSystem level json object
        :returns: Single overlay object in a list
        """
    cls.check_parent(parent)
    ovly = cls()
    ovly._top = top
    if parent.vpc_info:
        if parent.vpc_info['oper_state'] == 'active':
            ovly.attr['vpc_tep_ip'] = str(parent.vpc_info['vtep_ip'].split(
                '/')[0])
    if parent:
        ovly.attr['dn'] = str(parent.dn + '/overlay')
        ovly._parent = parent
        ovly._parent.add_child(ovly)
        ovly.node = ovly._parent.node
        ovly.pod = ovly._parent.pod
    else:
        ovly.attr['dn'] = '/overlay'
    return [ovly]
