code: private final byte[] zeroExtend(byte[] dataToPad) {
          assert null != dataToPad;
  
          final int targetLength = 4;
  
          if (targetLength <= dataToPad.length)
              return dataToPad;
  
          byte padded[] = new byte[targetLength];
  
          System.arraycopy(dataToPad, 0, padded, 0, dataToPad.length);
  
          for (int i = dataToPad.length; i < padded.length; i++)
              padded[i] = (byte)0;
  
          return padded;
      }
docs: If the parameter is shorter than 4 bytes, then create and return a new 4
  byte array with the input array's bytes followed by zero bytes. Otherwise
  return the parameter.
  
  @param dataToPad non-null but possibly zero-length byte array
  @return either the parameter or a new array