+ // Debug message
+ //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('RAW-INPUT-STREAM[' . __METHOD__ . ':' . __LINE__ . ': data(' . strlen($data) . ')=' . $data);
+
+ // Do we have start and end marker again?
+ assert($this->ifStartEndMarkersSet($data));
+
+ // Count of start and end markers must be the same
+ assert(substr_count($data, BaseRawDataHandler::STREAM_START_MARKER) == substr_count($data, BaseRawDataHandler::STREAM_END_MARKER));
+
+ // Check if more than two start markers exist and if so, split it.
+ if (substr_count($data, BaseRawDataHandler::STREAM_START_MARKER) > 1) {
+ // Please do it outside this method
+ throw new MultipleMessageSentException(array($this, $data), BaseHubSystem::EXCEPTION_MULTIPLE_MESSAGE_SENT);
+ } // END - if
+
+ // Remove both
+ $data = substr($data, strlen(BaseRawDataHandler::STREAM_START_MARKER), -1 * strlen(BaseRawDataHandler::STREAM_END_MARKER));
+