Pads data to left and/or right, starting from the first (last) non-zero cell and extending it to the beginning (end) of data. More specifically:

Let l be the index of the first non-zero element in data (for left padding),let r be the index of the last non-zero element in data (for right padding) then for every element e which index is i such that: 0, e is replaced with element data[l] (left padding)r , e is replaced with element data[r] (right padding)

Example:

Given data: [0,0,0,1,2,1,3,1,2,4,0] result of applying ContinuousPadder is: [1,1,1,1,2,1,3,1,2,4,0] in case of ContinuousPadder.PaddingLeft; [0,0,0,1,2,1,3,1,2,4,4] in case of ContinuousPadder.PaddingRight;

@author Marcin Rzeźnicki