bundles/org.eclipse.packagedrone.utils/src/org/eclipse/packagedrone/utils/io/Streams.java
public static long copy ( final Readable readable, final Appendable appendable ) throws IOException
    {
        final CharBuffer buffer = CharBuffer.allocate ( COPY_BUFFER_SIZE );
        long total = 0;
        while ( readable.read ( buffer ) >= 0 )
        {
            buffer.flip ();
            appendable.append ( buffer );
            total += buffer.remaining ();
            buffer.clear ();
        }
        return total;
    }
public static long copy ( final Readable readable, final Appendable appendable ) throws IOException
    {
        final CharBuffer buffer = CharBuffer.allocate ( COPY_BUFFER_SIZE );
        long total = 0;
        while ( readable.read ( buffer ) >= 0 )
        {
            buffer.flip ();
            appendable.append ( buffer );
            total += buffer.remaining ();
            buffer.clear ();
        }
        return total;
    }
Copy the remaining content of one reader to the {@link Appendable} (or
{@link Writer}

@param readable
the input readable
@param appendable
the output appendable
@return the number of characters copied
@throws IOException
if any I/O error occurs