As i am returning getByteSize as null, this needs to be changed or add 
         /**
     * Estimate the byte size from the type length. For example, for char, byte size would be the
     * same as length. For decimal, byte size would have no correlation with the length.
     */
    public Integer estimateByteSizeFromLength(Integer length) {
        if (isFixedWidth()) {
            return getByteSize();
        }
        if(isArrayType()) {
            return null;
        }
        // If not fixed width, default to say the byte size is the same as length.
        return length;
    }