private boolean handleNoSync() {
            try {
                if (readByte() == 0) {
                    return false;
                }
            } catch (IOException e) {
                stats.incrementStat(statPrefix + STAT_CONNECTION_FAIL);
                log.info("RxThread: exception caught while trying to read "
                        + "from server", e);
                currentState = RxThreadStates.RESET;
                return true;
            }

            if (buffer.position() > 0 && buffer.get(buffer.position() - 1)
                    == LegacyOCPMessage.OCP_EOM_FIRST_BYTE
                    && buffer.hasRemaining()) {
                // Found the first EOM byte, and have enough space for the
                // second EOM byte.
                currentState = RxThreadStates.SECOND_EOM_BYTE;
            }
            return true;
        }