### Question:
ByteArrayInputStreamProvider implements IHasByteArray { @Override public String toString () { return new ToStringGenerator (null).append ("Bytes", m_aBytes).getToString (); } ByteArrayInputStreamProvider(@Nonnull final byte [] aData);  ByteArrayInputStreamProvider(@Nonnull final byte [] aData, final boolean bCopyNeeded);  ByteArrayInputStreamProvider(@Nonnull final byte [] aData, @Nonnegative final int nOfs, @Nonnegative final int nLen);  ByteArrayInputStreamProvider(@Nonnull final byte [] aData,
                                       @Nonnegative final int nOfs,
                                       @Nonnegative final int nLen,
                                       final boolean bCopyNeeded); final boolean isCopy(); @Nonnull @ReturnsMutableObject final byte [] bytes(); @Nonnegative final int getOffset(); @Nonnegative final int size(); @Override String toString(); static final boolean DEFAULT_COPY_NEEDED; }### Answer:
@Test public void testSimple () { final byte [] aBytes = "Hallo Weltäöü".getBytes (StandardCharsets.ISO_8859_1); final ByteArrayInputStreamProvider aISP = new ByteArrayInputStreamProvider (aBytes); final InputStream aIS = aISP.getInputStream (); assertArrayEquals (aBytes, StreamHelper.getAllBytes (aIS)); StreamHelper.close (aISP.getReader (StandardCharsets.UTF_8)); assertNotNull (aISP.toString ()); }