public static ushort NextUShort(this IBufferedArray buffer, IByteConverter converter)
    {
        SharedContracts(buffer, converter);

        buffer.BufferNextExceptionChecking(ByteLength.UShort);
        return(converter.ToUShort(buffer.Buffer, 0));
    }
    public static bool TryNextUShort(this IBufferedArray buffer, IByteConverter converter, out ushort value)
    {
        SharedContracts(buffer, converter);

        if (buffer.TryBufferNext(ByteLength.UShort))
        {
            value = converter.ToUShort(buffer.Buffer, 0);
            return(true);
        }
        else
        {
            value = default(ushort);
            return(false);
        }
    }
    public static ushort ToUShort(this IByteConverter converter, byte[] buffer, int index)
    {
        Contracts.Requires.That(converter != null);

        return(converter.ToUShort(buffer, ref index));
    }