code: public static char[] bytesToCharArrayUTFNIO(byte[] buffer) {
          ByteBuffer byteBuffer = ByteBuffer.wrap(buffer);
          CharBuffer charBuffer = Charset.forName(ENCODING).decode(byteBuffer);
          try {
              return charBufferToChars(charBuffer);
          } finally {
              eraseCharBuffer(charBuffer);
          }
      }
docs: Always returns a copy of the data as a char[]
  @param buffer buffer to decode into UTF-8 characters
  @return UFT-8 characters