super( arrayDelimiter, Byte.TYPE );
}
@Override
public byte[] extract( char[] data, int offset, int length )
{
<BUG>byte[] array = new byte[numberOfValues( data, offset, length )];
for ( int i = 0, index = 0; i < length; i++, index++ )
{
int numberOfChars = charsToNextDelimiter( data, offset+i, length-i );

array[index] = safeCastLongToByte( extractLong( data, offset+i, numberOfChars ) );

i += numberOfChars;
</BUG>
}

super( arrayDelimiter, Byte.TYPE );
}
@Override
public byte[] extract( char[] data, int offset, int length )
{
int numberOfValues = numberOfValues( data, offset, length );
byte[] array = numberOfValues > 0 ? new byte[numberOfValues] : EMPTY;
for ( int arrayIndex = 0, charIndex = 0; arrayIndex < numberOfValues; arrayIndex++, charIndex++ )
{
int numberOfChars = charsToNextDelimiter( data, offset+charIndex, length-charIndex );
array[arrayIndex] = safeCastLongToByte( extractLong( data, offset+charIndex, numberOfChars ) );
charIndex += numberOfChars;
}
