source.registerPop();
    public Object pop()    {	source.registerPop();        ensureData ();        Object data;        data = dequeue ();        assert data != null;                return data;    }