static byte[] ChunkToBytes(Encoding encoding, object chunk)
{
AssertChunkObject(chunk);
if (chunk.GetType() == typeof(byte[])) return (byte[])chunk;
if (chunk.GetType() == typeof(string)) return encoding.GetBytes((string)chunk);
if (chunk.GetType() == typeof(PhpString)) return ((PhpString)chunk).ToBytes(encoding);
if (chunk.GetType() == typeof(char[])) return encoding.GetBytes((char[])chunk);
throw new ArgumentException(chunk.GetType().ToString());
}
}