Try to fix STR1 logic and linearize some cases better.
Can't arraycopy from an object, silly!
More reordering of cases and fix untentional fallthrough in finish