Exception no Encode

Tentei implementar o código para forçar a o encoding 8859-1:

    public String paraIso(String string) throws SystemException{
        Charset charsetUtf8 = Charset.forName("ISO-8859-1");
        CharsetEncoder encoder = charsetUtf8.newEncoder();

        Charset charsetIso88591 = Charset.forName("UTF-8");
        CharsetDecoder decoder = charsetIso88591.newDecoder();
        String s = "";
        try {
            ByteBuffer bbuf = encoder.encode(CharBuffer.wrap(string));

            CharBuffer cbuf = decoder.decode(bbuf);
            s = cbuf.toString();
        } catch (CharacterCodingException e) {
            logger.info("Erro ao converter: " + e.getStackTrace());
        }
        return s;
    }

Está dando uma exception:

Erro ao converter: java.nio.charset.MalformedInputException: Input length = 1

na linha
CharBuffer cbuf = decoder.decode(bbuf);
O que poderia ser? Já aconteceu esse erro com alguém?