def METHOD_NAME(id, session=None):
    """Get an object from an ID or an identifying string
    Optionally, use the specified session.
    :rtype: SimulationObjectBase
    """
    if session is None:
        session = get_default_session()
    if isinstance(id, str) or isinstance(id, str):
        sim, ts, halo = id.split("/")
        ts = get_timestep(sim + "/" + ts, session)
        return ts[halo]
    else:
        return session.query(SimulationObjectBase).filter_by(id=int(id)).first()