private void postCrcCheckRequest(final RequestID reqID,
            final FavoriteSynchListener listener) {
        if(LOG.isInfo()) {
            LOG.info("FavoriteModule","post FavoriteCrcRequest reqID=" + reqID);
        }
        
        FavoriteCrcRequest crcRequest = new FavoriteCrcRequest(this.serverCrc,
                new MC2RequestListener() {
                    public void requestDone(final Object result,final CoreError error) {
                        if (error != null) {
                            if(LOG.isError()) {
                                LOG.error("FavoriteModule","done FavoriteCrcRequest error: " + error.toString());
                            }
                            
                        } else {
                            if(LOG.isInfo()) {
                                LOG.info("FavoriteModule","done FavoriteCrcRequest match: " + result.toString());
                            }
                        }
                        callback.callInvokeCallbackRunnable(new Runnable() {
                            public void run() {
                                if (error != null) {
                                    if (listener != null) {
                                        listener.error(reqID, error);
                                    }
                                    pendingSynch = false;
                                } else { 
                                    //check if crc match 
                                    if (((Boolean)result).booleanValue()) {
                                        //yupii no need to fully synchronize
                                        if (listener != null) {
                                            listener.synchronizeDone(reqID, false);
                                        }
                                        pendingSynch = false;
                                    } else {
                                        postFullSynchRequest(reqID,listener); 
                                    }
                                }
                            }
                        });
                    }
                });
        mc2Ifc.pendingMC2Request(crcRequest);

    }