public static ByteToCharConverter getConverter(String var0) throws UnsupportedEncodingException {
ByteToCharConverter var2 = null;
Class var1;
try {
var1 = getConverterClass(var0);
} catch (ClassNotFoundException var5) {
throw new UnsupportedEncodingException();
}
try {
var2 = (ByteToCharConverter)var1.newInstance();
return var2;
} catch (InstantiationException var3) {
throw new UnsupportedEncodingException();
} catch (IllegalAccessException var4) {
throw new UnsupportedEncodingException();
}
}
public abstract String getCharacterEncoding();
public abstract int convert(byte[] var1, int var2, int var3, char[] var4, int var5, int var6) throws MalformedInputException, UnknownCharacterException, ConversionBufferFullException;
public char[] convertAll(byte[] var1) throws MalformedInputException {
this.reset();
boolean var2 = this.subMode;
this.subMode = true;
char[] var3 = new char[this.getMaxCharsPerByte() * var1.length];
char[] var4;
try {
int var7 = this.convert(var1, 0, var1.length, var3, 0, var3.length);