private bool IsVMU931Data(byte[] data) { Queue <byte> queue = new Queue <byte>(); data.ToList().ForEach(b => queue.Enqueue(b)); while (queue.Count >= 32) { var nextByte = queue.Dequeue(); var followingByte = queue.Peek(); if (nextByte == DataFrameParser.MessageEnd && followingByte == DataFrameParser.MessageStart) { // maybe we found a data frame var firstByte = queue.Dequeue(); var size = queue.Dequeue(); var type = (char)queue.Dequeue(); if (CommandType.IsCommandType(type)) { return(true); } } } return(false); }