2005/5/9

     
 

io_dmiproxy.cpp

artefaktur
// Generated by ACDK Metacompiler, 
// Copyrighted by Roger Rene Kommer, artefaktur
// 
// Dont edit this file manually
// 
#include <acdk.h>


#include "../io.h"
#include "../AbstractCharFilterReader.h"
#include "../AbstractCharFilterWriter.h"
#include "../AbstractCharReader.h"
#include "../AbstractCharWriter.h"
#include "../AbstractFilterReader.h"
#include "../AbstractFilterWriter.h"
#include "../AbstractObjectReader.h"
#include "../AbstractObjectWriter.h"
#include "../AbstractReader.h"
#include "../AbstractStorageReader.h"
#include "../AbstractStorageWriter.h"
#include "../AbstractWriter.h"
#include "../ASCIIDataReader.h"
#include "../ASCIIDataWriter.h"
#include "../BinaryDataReader.h"
#include "../BinaryDataWriter.h"
#include "../BinaryObjectReader.h"
#include "../BinaryObjectWriter.h"
#include "../BufferedReader.h"
#include "../BufferedWriter.h"
#include "../BytePtrReader.h"
#include "../ByteToCharReader.h"
#include "../ByteToCharWriter.h"
#include "../CharArrayReader.h"
#include "../CharArrayWriter.h"
#include "../CharReader.h"
#include "../CharToByteReader.h"
#include "../CharToByteWriter.h"
#include "../CharWriter.h"
#include "../ConsoleCharReader.h"
#include "../ConsoleCharWriter.h"
#include "../ConsoleReader.h"
#include "../ConsoleWriter.h"
#include "../DataReader.h"
#include "../DataWriter.h"
#include "../EOFException.h"
#include "../File.h"
#include "../FileAbstractImpl.h"
#include "../FileDescriptor.h"
#include "../FileFilter.h"
#include "../FileImpl.h"
#include "../FileInfo.h"
#include "../FilenameFilter.h"
#include "../FileNotFoundException.h"
#include "../FileReader.h"
#include "../FileReaderWriterImpl.h"
#include "../FileStandardImpl.h"
#include "../FileStatus.h"
#include "../FileSystem.h"
#include "../FileSystemFactory.h"
#include "../FileWriter.h"
#include "../FilterReader.h"
#include "../FilterWriter.h"
#include "../GlobFilenameFilter.h"
#include "../InputReader.h"
#include "../io.h"
#include "../IOException.h"
#include "../io_all.h"
#include "../JoinedReader.h"
#include "../LineNumberCharReader.h"
#include "../LineNumberReader.h"
#include "../MemoryMappedFile.h"
#include "../MemReader.h"
#include "../MemWriter.h"
#include "../NullWriter.h"
#include "../ObjectReader.h"
#include "../ObjectStreamException.h"
#include "../ObjectWriter.h"
#include "../OutputDebugStringWriter.h"
#include "../PipedReader.h"
#include "../PipedWriter.h"
#include "../PrintWriter.h"
#include "../PushbackCharReader.h"
#include "../PushbackReader.h"
#include "../RandomAccessFile.h"
#include "../Reader.h"
#include "../RessourceFileImpl.h"
#include "../RessourceFileSystem.h"
#include "../Serializable.h"
#include "../SerializedObjectDescriptor.h"
#include "../StandardFileSystem.h"
#include "../Storage.h"
#include "../StreamTokenizer.h"
#include "../StringReader.h"
#include "../StringWriter.h"
#include "../SubReader.h"
#include "../TeeCharWriter.h"
#include "../TeeReader.h"
#include "../TeeWriter.h"
#include "../Writer.h"
#include <acdk/lang/dmi/ClazzInfoInternals.h>

namespace acdk { 
namespace io { 

class AbstractCharFilterReader_DmiProxy
: extends AbstractCharFilterReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(AbstractCharFilterReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  AbstractCharFilterReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, AbstractCharFilterReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  AbstractCharFilterReader_DmiProxy(IN(::acdk::io::RCharReader) in, IN(::acdk::lang::RObject) iolock)
  : AbstractCharFilterReader(in, iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  AbstractCharFilterReader_DmiProxy(IN(::acdk::io::RCharReader) in)
  : AbstractCharFilterReader(in)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RReader getReader(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::getReader(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  int readChar()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::readChar();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::readString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractCharFilterReader_in_acdk_io_CharReader_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractCharFilterReader_DmiProxy((::acdk::io::RCharReader)args[0].getObjectVar(), (::acdk::lang::RObject)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractCharFilterReader_in_acdk_io_CharReader_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractCharFilterReader_DmiProxy((::acdk::io::RCharReader)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo AbstractCharFilterReader_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  AbstractCharFilterReader::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _AbstractCharFilterReader_DmiProxy_interfaces[] =
{
  &AbstractCharFilterReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractCharFilterReader_DmiProxy_methods__AbstractCharFilterReader_in_acdk_io_CharReader_in_acdk_lang_Object_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::CharReader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractCharFilterReader_DmiProxy_methods__AbstractCharFilterReader_in_acdk_io_CharReader_in_acdk_lang_Object_arg_iolock =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "iolock",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractCharFilterReader_methods__AbstractCharFilterReader_in_acdk_io_CharReader_in_acdk_lang_Object_args[] = 
{
  &AbstractCharFilterReader_DmiProxy_methods__AbstractCharFilterReader_in_acdk_io_CharReader_in_acdk_lang_Object_arg_in,
  &AbstractCharFilterReader_DmiProxy_methods__AbstractCharFilterReader_in_acdk_io_CharReader_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractCharFilterReader_DmiProxy_methods__AbstractCharFilterReader_in_acdk_io_CharReader_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "AbstractCharFilterReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractCharFilterReader::clazzInfo(), // returnType
  "_0_AbstractCharFilterReader_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractCharFilterReader_methods__AbstractCharFilterReader_in_acdk_io_CharReader_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  AbstractCharFilterReader_DmiProxy::_AbstractCharFilterReader_in_acdk_io_CharReader_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractCharFilterReader_DmiProxy_methods__AbstractCharFilterReader_in_acdk_io_CharReader_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::CharReader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractCharFilterReader_methods__AbstractCharFilterReader_in_acdk_io_CharReader_args[] = 
{
  &AbstractCharFilterReader_DmiProxy_methods__AbstractCharFilterReader_in_acdk_io_CharReader_arg_in,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractCharFilterReader_DmiProxy_methods__AbstractCharFilterReader_in_acdk_io_CharReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "AbstractCharFilterReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractCharFilterReader::clazzInfo(), // returnType
  "_1_AbstractCharFilterReader_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractCharFilterReader_methods__AbstractCharFilterReader_in_acdk_io_CharReader_args,
  0, // argumentCount
  0, // excpetions,
  AbstractCharFilterReader_DmiProxy::_AbstractCharFilterReader_in_acdk_io_CharReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* AbstractCharFilterReader_methods[] = 
{
  &AbstractCharFilterReader_DmiProxy_methods__AbstractCharFilterReader_in_acdk_io_CharReader_in_acdk_lang_Object,
  &AbstractCharFilterReader_DmiProxy_methods__AbstractCharFilterReader_in_acdk_io_CharReader,
  0
};

::acdk::lang::dmi::ClazzInfo* AbstractCharFilterReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "AbstractCharFilterReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _AbstractCharFilterReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     AbstractCharFilterReader_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_AbstractCharFilterReader_DmiProxy(AbstractCharFilterReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class AbstractCharFilterWriter_DmiProxy
: extends AbstractCharFilterWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(AbstractCharFilterWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  AbstractCharFilterWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, AbstractCharFilterWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  AbstractCharFilterWriter_DmiProxy(IN(::acdk::io::RCharWriter) out, IN(::acdk::lang::RObject) iolock)
  : AbstractCharFilterWriter(out, iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  AbstractCharFilterWriter_DmiProxy(IN(::acdk::io::RCharWriter) out)
  : AbstractCharFilterWriter(out)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::flush();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RWriter getWriter(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::getWriter(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  void writeChar(char c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::clazzInfo()->methods[9]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::writeChar(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeChar(ucchar c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::writeChar(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeString(IN(::acdk::lang::RString) str)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::clazzInfo()->methods[11]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::writeString(str);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("writeString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractCharFilterWriter_in_acdk_io_CharWriter_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractCharFilterWriter_DmiProxy((::acdk::io::RCharWriter)args[0].getObjectVar(), (::acdk::lang::RObject)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractCharFilterWriter_in_acdk_io_CharWriter_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractCharFilterWriter_DmiProxy((::acdk::io::RCharWriter)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo AbstractCharFilterWriter_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  AbstractCharFilterWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _AbstractCharFilterWriter_DmiProxy_interfaces[] =
{
  &AbstractCharFilterWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractCharFilterWriter_DmiProxy_methods__AbstractCharFilterWriter_in_acdk_io_CharWriter_in_acdk_lang_Object_arg_out =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "out",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::CharWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractCharFilterWriter_DmiProxy_methods__AbstractCharFilterWriter_in_acdk_io_CharWriter_in_acdk_lang_Object_arg_iolock =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "iolock",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractCharFilterWriter_methods__AbstractCharFilterWriter_in_acdk_io_CharWriter_in_acdk_lang_Object_args[] = 
{
  &AbstractCharFilterWriter_DmiProxy_methods__AbstractCharFilterWriter_in_acdk_io_CharWriter_in_acdk_lang_Object_arg_out,
  &AbstractCharFilterWriter_DmiProxy_methods__AbstractCharFilterWriter_in_acdk_io_CharWriter_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractCharFilterWriter_DmiProxy_methods__AbstractCharFilterWriter_in_acdk_io_CharWriter_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "AbstractCharFilterWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractCharFilterWriter::clazzInfo(), // returnType
  "_0_AbstractCharFilterWriter_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractCharFilterWriter_methods__AbstractCharFilterWriter_in_acdk_io_CharWriter_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  AbstractCharFilterWriter_DmiProxy::_AbstractCharFilterWriter_in_acdk_io_CharWriter_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractCharFilterWriter_DmiProxy_methods__AbstractCharFilterWriter_in_acdk_io_CharWriter_arg_out =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "out",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::CharWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractCharFilterWriter_methods__AbstractCharFilterWriter_in_acdk_io_CharWriter_args[] = 
{
  &AbstractCharFilterWriter_DmiProxy_methods__AbstractCharFilterWriter_in_acdk_io_CharWriter_arg_out,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractCharFilterWriter_DmiProxy_methods__AbstractCharFilterWriter_in_acdk_io_CharWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "AbstractCharFilterWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractCharFilterWriter::clazzInfo(), // returnType
  "_1_AbstractCharFilterWriter_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractCharFilterWriter_methods__AbstractCharFilterWriter_in_acdk_io_CharWriter_args,
  0, // argumentCount
  0, // excpetions,
  AbstractCharFilterWriter_DmiProxy::_AbstractCharFilterWriter_in_acdk_io_CharWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* AbstractCharFilterWriter_methods[] = 
{
  &AbstractCharFilterWriter_DmiProxy_methods__AbstractCharFilterWriter_in_acdk_io_CharWriter_in_acdk_lang_Object,
  &AbstractCharFilterWriter_DmiProxy_methods__AbstractCharFilterWriter_in_acdk_io_CharWriter,
  0
};

::acdk::lang::dmi::ClazzInfo* AbstractCharFilterWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "AbstractCharFilterWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _AbstractCharFilterWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     AbstractCharFilterWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_AbstractCharFilterWriter_DmiProxy(AbstractCharFilterWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class AbstractCharReader_DmiProxy
: extends AbstractCharReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(AbstractCharReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  AbstractCharReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, AbstractCharReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  AbstractCharReader_DmiProxy(IN(::acdk::lang::RObject) lock)
  : AbstractCharReader(lock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  AbstractCharReader_DmiProxy()
  : AbstractCharReader()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  int readChar()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharReader)::readString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharReader)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharReader)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharReader)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharReader)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharReader)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharReader)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharReader)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RReader getReader(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharReader)::clazzInfo()->methods[2]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharReader)::getReader(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractCharReader_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractCharReader_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractCharReader_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractCharReader_DmiProxy();
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo AbstractCharReader_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  AbstractCharReader::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _AbstractCharReader_DmiProxy_interfaces[] =
{
  &AbstractCharReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractCharReader_DmiProxy_methods__AbstractCharReader_in_acdk_lang_Object_arg_lock =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "lock",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractCharReader_methods__AbstractCharReader_in_acdk_lang_Object_args[] = 
{
  &AbstractCharReader_DmiProxy_methods__AbstractCharReader_in_acdk_lang_Object_arg_lock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractCharReader_DmiProxy_methods__AbstractCharReader_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "AbstractCharReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractCharReader::clazzInfo(), // returnType
  "_0_AbstractCharReader_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractCharReader_methods__AbstractCharReader_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  AbstractCharReader_DmiProxy::_AbstractCharReader_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractCharReader_methods__AbstractCharReader_args[] = 
{
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractCharReader_DmiProxy_methods__AbstractCharReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "AbstractCharReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractCharReader::clazzInfo(), // returnType
  "_1_AbstractCharReader_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractCharReader_methods__AbstractCharReader_args,
  0, // argumentCount
  0, // excpetions,
  AbstractCharReader_DmiProxy::_AbstractCharReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* AbstractCharReader_methods[] = 
{
  &AbstractCharReader_DmiProxy_methods__AbstractCharReader_in_acdk_lang_Object,
  &AbstractCharReader_DmiProxy_methods__AbstractCharReader,
  0
};

::acdk::lang::dmi::ClazzInfo* AbstractCharReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "AbstractCharReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _AbstractCharReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     AbstractCharReader_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_AbstractCharReader_DmiProxy(AbstractCharReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class AbstractCharWriter_DmiProxy
: extends AbstractCharWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(AbstractCharWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  AbstractCharWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, AbstractCharWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  AbstractCharWriter_DmiProxy(IN(::acdk::lang::RObject) lock)
  : AbstractCharWriter(lock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  AbstractCharWriter_DmiProxy()
  : AbstractCharWriter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void writeChar(char c)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeChar(ucchar c)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeString(IN(::acdk::lang::RString) str)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharWriter)::clazzInfo()->methods[9]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharWriter)::writeString(str);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("writeString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharWriter)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharWriter)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharWriter)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharWriter)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharWriter)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharWriter)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharWriter)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RWriter getWriter(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharWriter)::getWriter(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractCharWriter_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractCharWriter_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractCharWriter_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractCharWriter_DmiProxy();
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo AbstractCharWriter_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  AbstractCharWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _AbstractCharWriter_DmiProxy_interfaces[] =
{
  &AbstractCharWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractCharWriter_DmiProxy_methods__AbstractCharWriter_in_acdk_lang_Object_arg_lock =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "lock",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractCharWriter_methods__AbstractCharWriter_in_acdk_lang_Object_args[] = 
{
  &AbstractCharWriter_DmiProxy_methods__AbstractCharWriter_in_acdk_lang_Object_arg_lock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractCharWriter_DmiProxy_methods__AbstractCharWriter_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "AbstractCharWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractCharWriter::clazzInfo(), // returnType
  "_0_AbstractCharWriter_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractCharWriter_methods__AbstractCharWriter_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  AbstractCharWriter_DmiProxy::_AbstractCharWriter_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractCharWriter_methods__AbstractCharWriter_args[] = 
{
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractCharWriter_DmiProxy_methods__AbstractCharWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "AbstractCharWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractCharWriter::clazzInfo(), // returnType
  "_1_AbstractCharWriter_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractCharWriter_methods__AbstractCharWriter_args,
  0, // argumentCount
  0, // excpetions,
  AbstractCharWriter_DmiProxy::_AbstractCharWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* AbstractCharWriter_methods[] = 
{
  &AbstractCharWriter_DmiProxy_methods__AbstractCharWriter_in_acdk_lang_Object,
  &AbstractCharWriter_DmiProxy_methods__AbstractCharWriter,
  0
};

::acdk::lang::dmi::ClazzInfo* AbstractCharWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "AbstractCharWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _AbstractCharWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     AbstractCharWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_AbstractCharWriter_DmiProxy(AbstractCharWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class AbstractFilterReader_DmiProxy
: extends AbstractFilterReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(AbstractFilterReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  AbstractFilterReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, AbstractFilterReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  AbstractFilterReader_DmiProxy(IN(::acdk::io::RReader) in, IN(::acdk::lang::RObject) lock)
  : AbstractFilterReader(in, lock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  AbstractFilterReader_DmiProxy(IN(::acdk::io::RReader) in)
  : AbstractFilterReader(in)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RReader getIn()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::getIn();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::getStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RReader getStorageReader()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::getStorageReader();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  void mark(int readAheadLimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[8]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::mark(readAheadLimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readAheadLimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[10]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[12]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[15]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::reset();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[16]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::seek(seekrel, seekpos);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void setIn(IN(::acdk::io::RReader) reader)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[17]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::setIn(reader);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(reader);
    _dmiProxyGetTarget()->standardDispatch("setIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  jlong skip(jlong n)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[18]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::skip(n);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractFilterReader_in_acdk_io_Reader_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractFilterReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar(), (::acdk::lang::RObject)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractFilterReader_in_acdk_io_Reader_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractFilterReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo AbstractFilterReader_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  AbstractFilterReader::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _AbstractFilterReader_DmiProxy_interfaces[] =
{
  &AbstractFilterReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractFilterReader_DmiProxy_methods__AbstractFilterReader_in_acdk_io_Reader_in_acdk_lang_Object_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractFilterReader_DmiProxy_methods__AbstractFilterReader_in_acdk_io_Reader_in_acdk_lang_Object_arg_lock =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "lock",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractFilterReader_methods__AbstractFilterReader_in_acdk_io_Reader_in_acdk_lang_Object_args[] = 
{
  &AbstractFilterReader_DmiProxy_methods__AbstractFilterReader_in_acdk_io_Reader_in_acdk_lang_Object_arg_in,
  &AbstractFilterReader_DmiProxy_methods__AbstractFilterReader_in_acdk_io_Reader_in_acdk_lang_Object_arg_lock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractFilterReader_DmiProxy_methods__AbstractFilterReader_in_acdk_io_Reader_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "AbstractFilterReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractFilterReader::clazzInfo(), // returnType
  "_0_AbstractFilterReader_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractFilterReader_methods__AbstractFilterReader_in_acdk_io_Reader_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  AbstractFilterReader_DmiProxy::_AbstractFilterReader_in_acdk_io_Reader_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractFilterReader_DmiProxy_methods__AbstractFilterReader_in_acdk_io_Reader_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractFilterReader_methods__AbstractFilterReader_in_acdk_io_Reader_args[] = 
{
  &AbstractFilterReader_DmiProxy_methods__AbstractFilterReader_in_acdk_io_Reader_arg_in,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractFilterReader_DmiProxy_methods__AbstractFilterReader_in_acdk_io_Reader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "AbstractFilterReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractFilterReader::clazzInfo(), // returnType
  "_1_AbstractFilterReader_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractFilterReader_methods__AbstractFilterReader_in_acdk_io_Reader_args,
  0, // argumentCount
  0, // excpetions,
  AbstractFilterReader_DmiProxy::_AbstractFilterReader_in_acdk_io_Reader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* AbstractFilterReader_methods[] = 
{
  &AbstractFilterReader_DmiProxy_methods__AbstractFilterReader_in_acdk_io_Reader_in_acdk_lang_Object,
  &AbstractFilterReader_DmiProxy_methods__AbstractFilterReader_in_acdk_io_Reader,
  0
};

::acdk::lang::dmi::ClazzInfo* AbstractFilterReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "AbstractFilterReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _AbstractFilterReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     AbstractFilterReader_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_AbstractFilterReader_DmiProxy(AbstractFilterReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class AbstractFilterWriter_DmiProxy
: extends AbstractFilterWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(AbstractFilterWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  AbstractFilterWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, AbstractFilterWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  AbstractFilterWriter_DmiProxy(IN(::acdk::io::RWriter) out, IN(::acdk::lang::RObject) lock)
  : AbstractFilterWriter(out, lock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  AbstractFilterWriter_DmiProxy(IN(::acdk::io::RWriter) out)
  : AbstractFilterWriter(out)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::flush();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RWriter getOut()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::getOut();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getOut", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::getStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RWriter getStorageWriter()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::getStorageWriter();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  void setOut(IN(::acdk::io::RWriter) writer)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[8]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::setOut(writer);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(writer);
    _dmiProxyGetTarget()->standardDispatch("setOut", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(byte c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[9]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::write(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(IN(RbyteArray) ch, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::write(ch, offset, len);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject getLock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::getLock();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLock(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::setLock(obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("setLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RCharWriter getCharWriter(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::getCharWriter(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getCharWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getWriterStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::getWriterStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriterStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractFilterWriter_in_acdk_io_Writer_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractFilterWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar(), (::acdk::lang::RObject)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractFilterWriter_in_acdk_io_Writer_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractFilterWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo AbstractFilterWriter_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  AbstractFilterWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _AbstractFilterWriter_DmiProxy_interfaces[] =
{
  &AbstractFilterWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractFilterWriter_DmiProxy_methods__AbstractFilterWriter_in_acdk_io_Writer_in_acdk_lang_Object_arg_out =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "out",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Writer::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractFilterWriter_DmiProxy_methods__AbstractFilterWriter_in_acdk_io_Writer_in_acdk_lang_Object_arg_lock =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "lock",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractFilterWriter_methods__AbstractFilterWriter_in_acdk_io_Writer_in_acdk_lang_Object_args[] = 
{
  &AbstractFilterWriter_DmiProxy_methods__AbstractFilterWriter_in_acdk_io_Writer_in_acdk_lang_Object_arg_out,
  &AbstractFilterWriter_DmiProxy_methods__AbstractFilterWriter_in_acdk_io_Writer_in_acdk_lang_Object_arg_lock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractFilterWriter_DmiProxy_methods__AbstractFilterWriter_in_acdk_io_Writer_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "AbstractFilterWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractFilterWriter::clazzInfo(), // returnType
  "_0_AbstractFilterWriter_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractFilterWriter_methods__AbstractFilterWriter_in_acdk_io_Writer_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  AbstractFilterWriter_DmiProxy::_AbstractFilterWriter_in_acdk_io_Writer_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractFilterWriter_DmiProxy_methods__AbstractFilterWriter_in_acdk_io_Writer_arg_out =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "out",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Writer::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractFilterWriter_methods__AbstractFilterWriter_in_acdk_io_Writer_args[] = 
{
  &AbstractFilterWriter_DmiProxy_methods__AbstractFilterWriter_in_acdk_io_Writer_arg_out,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractFilterWriter_DmiProxy_methods__AbstractFilterWriter_in_acdk_io_Writer = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "AbstractFilterWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractFilterWriter::clazzInfo(), // returnType
  "_1_AbstractFilterWriter_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractFilterWriter_methods__AbstractFilterWriter_in_acdk_io_Writer_args,
  0, // argumentCount
  0, // excpetions,
  AbstractFilterWriter_DmiProxy::_AbstractFilterWriter_in_acdk_io_Writer_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* AbstractFilterWriter_methods[] = 
{
  &AbstractFilterWriter_DmiProxy_methods__AbstractFilterWriter_in_acdk_io_Writer_in_acdk_lang_Object,
  &AbstractFilterWriter_DmiProxy_methods__AbstractFilterWriter_in_acdk_io_Writer,
  0
};

::acdk::lang::dmi::ClazzInfo* AbstractFilterWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "AbstractFilterWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _AbstractFilterWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     AbstractFilterWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_AbstractFilterWriter_DmiProxy(AbstractFilterWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class AbstractObjectReader_DmiProxy
: extends AbstractObjectReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(AbstractObjectReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  AbstractObjectReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, AbstractObjectReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  AbstractObjectReader_DmiProxy(IN(::acdk::io::RReader) in, int flags)
  : AbstractObjectReader(in, flags)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  AbstractObjectReader_DmiProxy(IN(::acdk::io::RReader) in)
  : AbstractObjectReader(in)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void defaultReadObject(IN(::acdk::lang::RClass) cls, IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::defaultReadObject(cls, obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(cls);
    __acdk_args[1] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("defaultReadObject", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RStorage getStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::getStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RReader getStorageReader()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::getStorageReader();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  bool readBoolean()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readBoolean", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  char readChar()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RClass readClassDescriptor(IN(::acdk::lang::RClass) cls)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::clazzInfo()->methods[18]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::readClassDescriptor(cls);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(cls);
    _dmiProxyGetTarget()->standardDispatch("readClassDescriptor", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RClass readClassId()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readClassId", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  double readDouble()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readDouble", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  float readFloat()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readFloat", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int readInt()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readInt", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong readLong()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readLong", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RObject readObject()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::clazzInfo()->methods[28]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::readObject();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readObject", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RObject readObject(IN(::acdk::lang::RClass) cls)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::clazzInfo()->methods[29]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::readObject(cls);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(cls);
    _dmiProxyGetTarget()->standardDispatch("readObject", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int readObjectLocalId()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::clazzInfo()->methods[33]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::readObjectLocalId();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readObjectLocalId", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  RbyteArray readOpaque()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::clazzInfo()->methods[34]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::readOpaque();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readOpaque", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (RbyteArray)(::acdk::lang::RObject)__acdk_retval;
  }
  short readShort()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readShort", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::clazzInfo()->methods[37]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::readString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString readStringImpl()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readStringImpl", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString readTagEnd(IN(::acdk::lang::RString) key, IN(::acdk::lang::RString) expected)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(key);
    __acdk_args[1] = ::acdk::lang::inOf(expected);
    _dmiProxyGetTarget()->standardDispatch("readTagEnd", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString readTagStart(IN(::acdk::lang::RString) key, IN(::acdk::lang::RString) expected)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(key);
    __acdk_args[1] = ::acdk::lang::inOf(expected);
    _dmiProxyGetTarget()->standardDispatch("readTagStart", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  void reset()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::clazzInfo()->methods[45]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::reset();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setIn(IN(::acdk::io::RReader) reader)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::clazzInfo()->methods[47]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::setIn(reader);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(reader);
    _dmiProxyGetTarget()->standardDispatch("setIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  jlong skip(jlong n)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::clazzInfo()->methods[48]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::skip(n);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RReader getIn()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::getIn();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  void mark(int readAheadLimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[8]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::mark(readAheadLimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readAheadLimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[10]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[12]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[16]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::seek(seekrel, seekpos);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ucchar readUcChar()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readUcChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractObjectReader_in_acdk_io_Reader_I_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractObjectReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar(), args[1].getIntVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractObjectReader_in_acdk_io_Reader_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractObjectReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo AbstractObjectReader_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  AbstractObjectReader::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _AbstractObjectReader_DmiProxy_interfaces[] =
{
  &AbstractObjectReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractObjectReader_DmiProxy_methods__AbstractObjectReader_in_acdk_io_Reader_I_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractObjectReader_DmiProxy_methods__AbstractObjectReader_in_acdk_io_Reader_I_arg_flags =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "flags",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractObjectReader_methods__AbstractObjectReader_in_acdk_io_Reader_I_args[] = 
{
  &AbstractObjectReader_DmiProxy_methods__AbstractObjectReader_in_acdk_io_Reader_I_arg_in,
  &AbstractObjectReader_DmiProxy_methods__AbstractObjectReader_in_acdk_io_Reader_I_arg_flags,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractObjectReader_DmiProxy_methods__AbstractObjectReader_in_acdk_io_Reader_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "AbstractObjectReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractObjectReader::clazzInfo(), // returnType
  "_0_AbstractObjectReader_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractObjectReader_methods__AbstractObjectReader_in_acdk_io_Reader_I_args,
  0, // argumentCount
  0, // excpetions,
  AbstractObjectReader_DmiProxy::_AbstractObjectReader_in_acdk_io_Reader_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractObjectReader_DmiProxy_methods__AbstractObjectReader_in_acdk_io_Reader_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractObjectReader_methods__AbstractObjectReader_in_acdk_io_Reader_args[] = 
{
  &AbstractObjectReader_DmiProxy_methods__AbstractObjectReader_in_acdk_io_Reader_arg_in,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractObjectReader_DmiProxy_methods__AbstractObjectReader_in_acdk_io_Reader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "AbstractObjectReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractObjectReader::clazzInfo(), // returnType
  "_1_AbstractObjectReader_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractObjectReader_methods__AbstractObjectReader_in_acdk_io_Reader_args,
  0, // argumentCount
  0, // excpetions,
  AbstractObjectReader_DmiProxy::_AbstractObjectReader_in_acdk_io_Reader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* AbstractObjectReader_methods[] = 
{
  &AbstractObjectReader_DmiProxy_methods__AbstractObjectReader_in_acdk_io_Reader_I,
  &AbstractObjectReader_DmiProxy_methods__AbstractObjectReader_in_acdk_io_Reader,
  0
};

::acdk::lang::dmi::ClazzInfo* AbstractObjectReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "AbstractObjectReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _AbstractObjectReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     AbstractObjectReader_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_AbstractObjectReader_DmiProxy(AbstractObjectReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class AbstractObjectWriter_DmiProxy
: extends AbstractObjectWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(AbstractObjectWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  AbstractObjectWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, AbstractObjectWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  AbstractObjectWriter_DmiProxy(IN(::acdk::io::RWriter) out, int flags)
  : AbstractObjectWriter(out, flags)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  AbstractObjectWriter_DmiProxy(IN(::acdk::io::RWriter) out)
  : AbstractObjectWriter(out)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void defaultWriteObject(IN(::acdk::lang::RClass) cls, IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::defaultWriteObject(cls, obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(cls);
    __acdk_args[1] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("defaultWriteObject", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(IN(RbyteArray) array, int offset, int len)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(array);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeClassDescriptor(IN(::acdk::lang::RClass) cls, IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::clazzInfo()->methods[19]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::writeClassDescriptor(cls, obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(cls);
    __acdk_args[1] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("writeClassDescriptor", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeClassId(IN(::acdk::lang::RClass) cls)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(cls);
    _dmiProxyGetTarget()->standardDispatch("writeClassId", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeObject(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::clazzInfo()->methods[25]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::writeObject(obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("writeObject", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeObject(IN(::acdk::lang::RClass) cls, IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::clazzInfo()->methods[26]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::writeObject(cls, obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(cls);
    __acdk_args[1] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("writeObject", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeObjectHierarchy(IN(::acdk::lang::RClass) cls, IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::clazzInfo()->methods[29]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::writeObjectHierarchy(cls, obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(cls);
    __acdk_args[1] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("writeObjectHierarchy", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeObjectLocalId(int id)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::clazzInfo()->methods[30]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::writeObjectLocalId(id);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(id);
    _dmiProxyGetTarget()->standardDispatch("writeObjectLocalId", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeString(IN(::acdk::lang::RString) str)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::clazzInfo()->methods[32]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::writeString(str);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("writeString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeStringImpl(IN(::acdk::lang::RString) str)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("writeStringImpl", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeTagEnd(IN(::acdk::lang::RString) key, IN(::acdk::lang::RString) value)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(key);
    __acdk_args[1] = ::acdk::lang::inOf(value);
    _dmiProxyGetTarget()->standardDispatch("writeTagEnd", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeTagStart(IN(::acdk::lang::RString) key, IN(::acdk::lang::RString) value)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(key);
    __acdk_args[1] = ::acdk::lang::inOf(value);
    _dmiProxyGetTarget()->standardDispatch("writeTagStart", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeUnshared(IN(::acdk::lang::RClass) cls, IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::clazzInfo()->methods[40]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::writeUnshared(cls, obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(cls);
    __acdk_args[1] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("writeUnshared", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::flush();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RWriter getOut()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::getOut();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getOut", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::getStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RWriter getStorageWriter()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::getStorageWriter();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  void setOut(IN(::acdk::io::RWriter) writer)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[8]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::setOut(writer);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(writer);
    _dmiProxyGetTarget()->standardDispatch("setOut", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(byte c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[9]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::write(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject getLock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::getLock();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLock(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::setLock(obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("setLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RCharWriter getCharWriter(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::getCharWriter(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getCharWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getWriterStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::getWriterStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriterStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void writeBoolean(bool b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeBoolean", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeChar(char b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeDouble(double b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeDouble", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeFloat(float b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeFloat", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeInt(int b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeInt", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeLong(jlong b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeLong", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeOpaque(IN(RbyteArray) array)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataWriter)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractObjectWriter)::writeOpaque(array);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(array);
    _dmiProxyGetTarget()->standardDispatch("writeOpaque", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeShort(short b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeShort", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeUcChar(ucchar b)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeUcChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractObjectWriter_in_acdk_io_Writer_I_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractObjectWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar(), args[1].getIntVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractObjectWriter_in_acdk_io_Writer_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractObjectWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo AbstractObjectWriter_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  AbstractObjectWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _AbstractObjectWriter_DmiProxy_interfaces[] =
{
  &AbstractObjectWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractObjectWriter_DmiProxy_methods__AbstractObjectWriter_in_acdk_io_Writer_I_arg_out =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "out",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Writer::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractObjectWriter_DmiProxy_methods__AbstractObjectWriter_in_acdk_io_Writer_I_arg_flags =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "flags",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractObjectWriter_methods__AbstractObjectWriter_in_acdk_io_Writer_I_args[] = 
{
  &AbstractObjectWriter_DmiProxy_methods__AbstractObjectWriter_in_acdk_io_Writer_I_arg_out,
  &AbstractObjectWriter_DmiProxy_methods__AbstractObjectWriter_in_acdk_io_Writer_I_arg_flags,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractObjectWriter_DmiProxy_methods__AbstractObjectWriter_in_acdk_io_Writer_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "AbstractObjectWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractObjectWriter::clazzInfo(), // returnType
  "_0_AbstractObjectWriter_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractObjectWriter_methods__AbstractObjectWriter_in_acdk_io_Writer_I_args,
  0, // argumentCount
  0, // excpetions,
  AbstractObjectWriter_DmiProxy::_AbstractObjectWriter_in_acdk_io_Writer_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractObjectWriter_DmiProxy_methods__AbstractObjectWriter_in_acdk_io_Writer_arg_out =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "out",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Writer::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractObjectWriter_methods__AbstractObjectWriter_in_acdk_io_Writer_args[] = 
{
  &AbstractObjectWriter_DmiProxy_methods__AbstractObjectWriter_in_acdk_io_Writer_arg_out,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractObjectWriter_DmiProxy_methods__AbstractObjectWriter_in_acdk_io_Writer = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "AbstractObjectWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractObjectWriter::clazzInfo(), // returnType
  "_1_AbstractObjectWriter_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractObjectWriter_methods__AbstractObjectWriter_in_acdk_io_Writer_args,
  0, // argumentCount
  0, // excpetions,
  AbstractObjectWriter_DmiProxy::_AbstractObjectWriter_in_acdk_io_Writer_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* AbstractObjectWriter_methods[] = 
{
  &AbstractObjectWriter_DmiProxy_methods__AbstractObjectWriter_in_acdk_io_Writer_I,
  &AbstractObjectWriter_DmiProxy_methods__AbstractObjectWriter_in_acdk_io_Writer,
  0
};

::acdk::lang::dmi::ClazzInfo* AbstractObjectWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "AbstractObjectWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _AbstractObjectWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     AbstractObjectWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_AbstractObjectWriter_DmiProxy(AbstractObjectWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class AbstractReader_DmiProxy
: extends AbstractReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(AbstractReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  AbstractReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, AbstractReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  AbstractReader_DmiProxy()
  : AbstractReader()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  AbstractReader_DmiProxy(IN(::acdk::lang::RObject) obj)
  : AbstractReader(obj)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::seek(seekrel, seekpos);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong skip(jlong n)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[11]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::skip(n);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[1]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void mark(int readAheadLimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::mark(readAheadLimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readAheadLimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractReader_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractReader_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractReader_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractReader_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo AbstractReader_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  AbstractReader::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _AbstractReader_DmiProxy_interfaces[] =
{
  &AbstractReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractReader_methods__AbstractReader_args[] = 
{
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractReader_DmiProxy_methods__AbstractReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "AbstractReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractReader::clazzInfo(), // returnType
  "_0_AbstractReader_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractReader_methods__AbstractReader_args,
  0, // argumentCount
  0, // excpetions,
  AbstractReader_DmiProxy::_AbstractReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractReader_DmiProxy_methods__AbstractReader_in_acdk_lang_Object_arg_obj =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "obj",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractReader_methods__AbstractReader_in_acdk_lang_Object_args[] = 
{
  &AbstractReader_DmiProxy_methods__AbstractReader_in_acdk_lang_Object_arg_obj,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractReader_DmiProxy_methods__AbstractReader_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "AbstractReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractReader::clazzInfo(), // returnType
  "_1_AbstractReader_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractReader_methods__AbstractReader_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  AbstractReader_DmiProxy::_AbstractReader_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* AbstractReader_methods[] = 
{
  &AbstractReader_DmiProxy_methods__AbstractReader,
  &AbstractReader_DmiProxy_methods__AbstractReader_in_acdk_lang_Object,
  0
};

::acdk::lang::dmi::ClazzInfo* AbstractReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "AbstractReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _AbstractReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     AbstractReader_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_AbstractReader_DmiProxy(AbstractReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class AbstractStorageReader_DmiProxy
: extends AbstractStorageReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(AbstractStorageReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  AbstractStorageReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, AbstractStorageReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  AbstractStorageReader_DmiProxy(IN(::acdk::lang::RObject) iolock)
  : AbstractStorageReader(iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  AbstractStorageReader_DmiProxy()
  : AbstractStorageReader()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::seek(seekrel, seekpos);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong skip(jlong n)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[11]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::skip(n);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[1]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void mark(int readAheadLimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::mark(readAheadLimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readAheadLimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RString getDeviceName()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getDeviceName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isReadable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isReadable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isWriteable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isWriteable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractStorageReader_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractStorageReader_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractStorageReader_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractStorageReader_DmiProxy();
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo AbstractStorageReader_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  AbstractStorageReader::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _AbstractStorageReader_DmiProxy_interfaces[] =
{
  &AbstractStorageReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractStorageReader_DmiProxy_methods__AbstractStorageReader_in_acdk_lang_Object_arg_iolock =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "iolock",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractStorageReader_methods__AbstractStorageReader_in_acdk_lang_Object_args[] = 
{
  &AbstractStorageReader_DmiProxy_methods__AbstractStorageReader_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractStorageReader_DmiProxy_methods__AbstractStorageReader_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "AbstractStorageReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractStorageReader::clazzInfo(), // returnType
  "_0_AbstractStorageReader_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractStorageReader_methods__AbstractStorageReader_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  AbstractStorageReader_DmiProxy::_AbstractStorageReader_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractStorageReader_methods__AbstractStorageReader_args[] = 
{
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractStorageReader_DmiProxy_methods__AbstractStorageReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "AbstractStorageReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractStorageReader::clazzInfo(), // returnType
  "_1_AbstractStorageReader_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractStorageReader_methods__AbstractStorageReader_args,
  0, // argumentCount
  0, // excpetions,
  AbstractStorageReader_DmiProxy::_AbstractStorageReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* AbstractStorageReader_methods[] = 
{
  &AbstractStorageReader_DmiProxy_methods__AbstractStorageReader_in_acdk_lang_Object,
  &AbstractStorageReader_DmiProxy_methods__AbstractStorageReader,
  0
};

::acdk::lang::dmi::ClazzInfo* AbstractStorageReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "AbstractStorageReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _AbstractStorageReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     AbstractStorageReader_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_AbstractStorageReader_DmiProxy(AbstractStorageReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class AbstractStorageWriter_DmiProxy
: extends AbstractStorageWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(AbstractStorageWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  AbstractStorageWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, AbstractStorageWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  AbstractStorageWriter_DmiProxy(IN(::acdk::lang::RObject) iolock)
  : AbstractStorageWriter(iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  AbstractStorageWriter_DmiProxy()
  : AbstractStorageWriter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RObject getLock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageWriter)::getLock();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageWriter)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLock(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageWriter)::setLock(obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("setLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageWriter)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(IN(RbyteArray) ch, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageWriter)::write(ch, offset, len);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageWriter)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageWriter)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageWriter)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageWriter)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageWriter)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageWriter)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageWriter)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RCharWriter getCharWriter(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageWriter)::getCharWriter(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getCharWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getWriterStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractStorageWriter)::getWriterStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriterStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void write(byte c)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RString getDeviceName()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getDeviceName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isReadable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isReadable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isWriteable()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isWriteable", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractStorageWriter_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractStorageWriter_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractStorageWriter_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractStorageWriter_DmiProxy();
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo AbstractStorageWriter_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  AbstractStorageWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _AbstractStorageWriter_DmiProxy_interfaces[] =
{
  &AbstractStorageWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractStorageWriter_DmiProxy_methods__AbstractStorageWriter_in_acdk_lang_Object_arg_iolock =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "iolock",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractStorageWriter_methods__AbstractStorageWriter_in_acdk_lang_Object_args[] = 
{
  &AbstractStorageWriter_DmiProxy_methods__AbstractStorageWriter_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractStorageWriter_DmiProxy_methods__AbstractStorageWriter_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "AbstractStorageWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractStorageWriter::clazzInfo(), // returnType
  "_0_AbstractStorageWriter_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractStorageWriter_methods__AbstractStorageWriter_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  AbstractStorageWriter_DmiProxy::_AbstractStorageWriter_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractStorageWriter_methods__AbstractStorageWriter_args[] = 
{
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractStorageWriter_DmiProxy_methods__AbstractStorageWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "AbstractStorageWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractStorageWriter::clazzInfo(), // returnType
  "_1_AbstractStorageWriter_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractStorageWriter_methods__AbstractStorageWriter_args,
  0, // argumentCount
  0, // excpetions,
  AbstractStorageWriter_DmiProxy::_AbstractStorageWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* AbstractStorageWriter_methods[] = 
{
  &AbstractStorageWriter_DmiProxy_methods__AbstractStorageWriter_in_acdk_lang_Object,
  &AbstractStorageWriter_DmiProxy_methods__AbstractStorageWriter,
  0
};

::acdk::lang::dmi::ClazzInfo* AbstractStorageWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "AbstractStorageWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _AbstractStorageWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     AbstractStorageWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_AbstractStorageWriter_DmiProxy(AbstractStorageWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class AbstractWriter_DmiProxy
: extends AbstractWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(AbstractWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  AbstractWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, AbstractWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  AbstractWriter_DmiProxy()
  : AbstractWriter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  AbstractWriter_DmiProxy(IN(::acdk::lang::RObject) olock)
  : AbstractWriter(olock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RObject getLock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::getLock();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLock(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::setLock(obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("setLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(IN(RbyteArray) ch, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::write(ch, offset, len);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RCharWriter getCharWriter(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::getCharWriter(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getCharWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getWriterStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::getWriterStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriterStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void write(byte c)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractWriter_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractWriter_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _AbstractWriter_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new AbstractWriter_DmiProxy((::acdk::lang::RObject)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo AbstractWriter_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  AbstractWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _AbstractWriter_DmiProxy_interfaces[] =
{
  &AbstractWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractWriter_methods__AbstractWriter_args[] = 
{
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractWriter_DmiProxy_methods__AbstractWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "AbstractWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractWriter::clazzInfo(), // returnType
  "_0_AbstractWriter_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractWriter_methods__AbstractWriter_args,
  0, // argumentCount
  0, // excpetions,
  AbstractWriter_DmiProxy::_AbstractWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo AbstractWriter_DmiProxy_methods__AbstractWriter_in_acdk_lang_Object_arg_olock =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "olock",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* AbstractWriter_methods__AbstractWriter_in_acdk_lang_Object_args[] = 
{
  &AbstractWriter_DmiProxy_methods__AbstractWriter_in_acdk_lang_Object_arg_olock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo AbstractWriter_DmiProxy_methods__AbstractWriter_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "AbstractWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  AbstractWriter::clazzInfo(), // returnType
  "_1_AbstractWriter_DmiProxy", // altname
  -1, // altnamehashCode
  AbstractWriter_methods__AbstractWriter_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  AbstractWriter_DmiProxy::_AbstractWriter_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* AbstractWriter_methods[] = 
{
  &AbstractWriter_DmiProxy_methods__AbstractWriter,
  &AbstractWriter_DmiProxy_methods__AbstractWriter_in_acdk_lang_Object,
  0
};

::acdk::lang::dmi::ClazzInfo* AbstractWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "AbstractWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _AbstractWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     AbstractWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_AbstractWriter_DmiProxy(AbstractWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class ASCIIDataReader_DmiProxy
: extends ASCIIDataReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(ASCIIDataReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  ASCIIDataReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, ASCIIDataReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  ASCIIDataReader_DmiProxy(IN(::acdk::io::RReader) in)
  : ASCIIDataReader(in)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  bool readBoolean()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::clazzInfo()->methods[2]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::readBoolean();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readBoolean", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  char readChar()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::readChar();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  double readDouble()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::readDouble();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readDouble", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  float readFloat()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::readFloat();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readFloat", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int readInt()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::readInt();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readInt", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong readLong()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::readLong();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readLong", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  short readShort()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::readShort();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readShort", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::readString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ucchar readUcChar()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::clazzInfo()->methods[10]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::readUcChar();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readUcChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RReader getIn()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::getIn();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::getStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RReader getStorageReader()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::getStorageReader();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  void mark(int readAheadLimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[8]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::mark(readAheadLimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readAheadLimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[10]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[12]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[15]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::reset();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[16]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::seek(seekrel, seekpos);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void setIn(IN(::acdk::io::RReader) reader)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[17]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::setIn(reader);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(reader);
    _dmiProxyGetTarget()->standardDispatch("setIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  jlong skip(jlong n)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[18]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::skip(n);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  RbyteArray readOpaque()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataReader)::readOpaque();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readOpaque", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (RbyteArray)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ASCIIDataReader_in_acdk_io_Reader_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new ASCIIDataReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo ASCIIDataReader_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  ASCIIDataReader::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _ASCIIDataReader_DmiProxy_interfaces[] =
{
  &ASCIIDataReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo ASCIIDataReader_DmiProxy_methods__ASCIIDataReader_in_acdk_io_Reader_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* ASCIIDataReader_methods__ASCIIDataReader_in_acdk_io_Reader_args[] = 
{
  &ASCIIDataReader_DmiProxy_methods__ASCIIDataReader_in_acdk_io_Reader_arg_in,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ASCIIDataReader_DmiProxy_methods__ASCIIDataReader_in_acdk_io_Reader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "ASCIIDataReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ASCIIDataReader::clazzInfo(), // returnType
  "_0_ASCIIDataReader_DmiProxy", // altname
  -1, // altnamehashCode
  ASCIIDataReader_methods__ASCIIDataReader_in_acdk_io_Reader_args,
  0, // argumentCount
  0, // excpetions,
  ASCIIDataReader_DmiProxy::_ASCIIDataReader_in_acdk_io_Reader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* ASCIIDataReader_methods[] = 
{
  &ASCIIDataReader_DmiProxy_methods__ASCIIDataReader_in_acdk_io_Reader,
  0
};

::acdk::lang::dmi::ClazzInfo* ASCIIDataReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "ASCIIDataReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _ASCIIDataReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     ASCIIDataReader_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_ASCIIDataReader_DmiProxy(ASCIIDataReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class ASCIIDataWriter_DmiProxy
: extends ASCIIDataWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(ASCIIDataWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  ASCIIDataWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, ASCIIDataWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  ASCIIDataWriter_DmiProxy(IN(::acdk::io::RWriter) out)
  : ASCIIDataWriter(out)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void writeBoolean(bool b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::clazzInfo()->methods[2]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::writeBoolean(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeBoolean", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeChar(char b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::writeChar(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeDouble(double b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::writeDouble(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeDouble", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeFloat(float b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::writeFloat(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeFloat", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeInt(int b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::writeInt(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeInt", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeLong(jlong b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::writeLong(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeLong", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeShort(short b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::clazzInfo()->methods[8]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::writeShort(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeShort", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeString(IN(::acdk::lang::RString) str)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::clazzInfo()->methods[9]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::writeString(str);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("writeString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeUcChar(ucchar b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::writeUcChar(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeUcChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::flush();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RWriter getOut()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::getOut();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getOut", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::getStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RWriter getStorageWriter()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::getStorageWriter();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  void setOut(IN(::acdk::io::RWriter) writer)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[8]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::setOut(writer);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(writer);
    _dmiProxyGetTarget()->standardDispatch("setOut", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(byte c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[9]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::write(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(IN(RbyteArray) ch, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::write(ch, offset, len);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject getLock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::getLock();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLock(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::setLock(obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("setLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RCharWriter getCharWriter(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::getCharWriter(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getCharWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getWriterStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::getWriterStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriterStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void writeOpaque(IN(RbyteArray) array)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataWriter)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ASCIIDataWriter)::writeOpaque(array);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(array);
    _dmiProxyGetTarget()->standardDispatch("writeOpaque", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ASCIIDataWriter_in_acdk_io_Writer_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new ASCIIDataWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo ASCIIDataWriter_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  ASCIIDataWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _ASCIIDataWriter_DmiProxy_interfaces[] =
{
  &ASCIIDataWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo ASCIIDataWriter_DmiProxy_methods__ASCIIDataWriter_in_acdk_io_Writer_arg_out =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "out",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Writer::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* ASCIIDataWriter_methods__ASCIIDataWriter_in_acdk_io_Writer_args[] = 
{
  &ASCIIDataWriter_DmiProxy_methods__ASCIIDataWriter_in_acdk_io_Writer_arg_out,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ASCIIDataWriter_DmiProxy_methods__ASCIIDataWriter_in_acdk_io_Writer = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "ASCIIDataWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ASCIIDataWriter::clazzInfo(), // returnType
  "_0_ASCIIDataWriter_DmiProxy", // altname
  -1, // altnamehashCode
  ASCIIDataWriter_methods__ASCIIDataWriter_in_acdk_io_Writer_args,
  0, // argumentCount
  0, // excpetions,
  ASCIIDataWriter_DmiProxy::_ASCIIDataWriter_in_acdk_io_Writer_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* ASCIIDataWriter_methods[] = 
{
  &ASCIIDataWriter_DmiProxy_methods__ASCIIDataWriter_in_acdk_io_Writer,
  0
};

::acdk::lang::dmi::ClazzInfo* ASCIIDataWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "ASCIIDataWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _ASCIIDataWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     ASCIIDataWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_ASCIIDataWriter_DmiProxy(ASCIIDataWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class BinaryDataReader_DmiProxy
: extends BinaryDataReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(BinaryDataReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  BinaryDataReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, BinaryDataReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  BinaryDataReader_DmiProxy(IN(::acdk::io::RReader) in, Endian end)
  : BinaryDataReader(in, (Endian)end)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  BinaryDataReader_DmiProxy(IN(::acdk::io::RReader) in)
  : BinaryDataReader(in)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  bool readBoolean()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::readBoolean();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readBoolean", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  char readChar()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::readChar();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  double readDouble()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::readDouble();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readDouble", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  float readFloat()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::readFloat();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readFloat", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int readInt()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::readInt();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readInt", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong readLong()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::clazzInfo()->methods[10]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::readLong();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readLong", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  RbyteArray readOpaque()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::clazzInfo()->methods[11]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::readOpaque();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readOpaque", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (RbyteArray)(::acdk::lang::RObject)__acdk_retval;
  }
  short readShort()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::clazzInfo()->methods[12]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::readShort();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readShort", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::clazzInfo()->methods[13]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::readString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ucchar readUcChar()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::readUcChar();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readUcChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RReader getIn()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::getIn();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::getStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RReader getStorageReader()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::getStorageReader();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  void mark(int readAheadLimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[8]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::mark(readAheadLimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readAheadLimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[10]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[12]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[15]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::reset();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[16]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::seek(seekrel, seekpos);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void setIn(IN(::acdk::io::RReader) reader)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[17]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::setIn(reader);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(reader);
    _dmiProxyGetTarget()->standardDispatch("setIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  jlong skip(jlong n)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[18]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::skip(n);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _BinaryDataReader_in_acdk_io_Reader_I_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new BinaryDataReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar(), (Endian)args[1].getIntVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _BinaryDataReader_in_acdk_io_Reader_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new BinaryDataReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo BinaryDataReader_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  BinaryDataReader::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _BinaryDataReader_DmiProxy_interfaces[] =
{
  &BinaryDataReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo BinaryDataReader_DmiProxy_methods__BinaryDataReader_in_acdk_io_Reader_I_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo BinaryDataReader_DmiProxy_methods__BinaryDataReader_in_acdk_io_Reader_I_arg_end =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "end",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* BinaryDataReader_methods__BinaryDataReader_in_acdk_io_Reader_I_args[] = 
{
  &BinaryDataReader_DmiProxy_methods__BinaryDataReader_in_acdk_io_Reader_I_arg_in,
  &BinaryDataReader_DmiProxy_methods__BinaryDataReader_in_acdk_io_Reader_I_arg_end,
  0
};

::acdk::lang::dmi::ClazzMethodInfo BinaryDataReader_DmiProxy_methods__BinaryDataReader_in_acdk_io_Reader_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "BinaryDataReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  BinaryDataReader::clazzInfo(), // returnType
  "_0_BinaryDataReader_DmiProxy", // altname
  -1, // altnamehashCode
  BinaryDataReader_methods__BinaryDataReader_in_acdk_io_Reader_I_args,
  0, // argumentCount
  0, // excpetions,
  BinaryDataReader_DmiProxy::_BinaryDataReader_in_acdk_io_Reader_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo BinaryDataReader_DmiProxy_methods__BinaryDataReader_in_acdk_io_Reader_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* BinaryDataReader_methods__BinaryDataReader_in_acdk_io_Reader_args[] = 
{
  &BinaryDataReader_DmiProxy_methods__BinaryDataReader_in_acdk_io_Reader_arg_in,
  0
};

::acdk::lang::dmi::ClazzMethodInfo BinaryDataReader_DmiProxy_methods__BinaryDataReader_in_acdk_io_Reader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "BinaryDataReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  BinaryDataReader::clazzInfo(), // returnType
  "_1_BinaryDataReader_DmiProxy", // altname
  -1, // altnamehashCode
  BinaryDataReader_methods__BinaryDataReader_in_acdk_io_Reader_args,
  0, // argumentCount
  0, // excpetions,
  BinaryDataReader_DmiProxy::_BinaryDataReader_in_acdk_io_Reader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* BinaryDataReader_methods[] = 
{
  &BinaryDataReader_DmiProxy_methods__BinaryDataReader_in_acdk_io_Reader_I,
  &BinaryDataReader_DmiProxy_methods__BinaryDataReader_in_acdk_io_Reader,
  0
};

::acdk::lang::dmi::ClazzInfo* BinaryDataReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "BinaryDataReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _BinaryDataReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     BinaryDataReader_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_BinaryDataReader_DmiProxy(BinaryDataReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class BinaryDataWriter_DmiProxy
: extends BinaryDataWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(BinaryDataWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  BinaryDataWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, BinaryDataWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  BinaryDataWriter_DmiProxy(IN(::acdk::io::RWriter) out, Endian en)
  : BinaryDataWriter(out, (Endian)en)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  BinaryDataWriter_DmiProxy(IN(::acdk::io::RWriter) out)
  : BinaryDataWriter(out)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void writeBoolean(bool b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::writeBoolean(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeBoolean", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeChar(char b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::writeChar(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeDouble(double b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::writeDouble(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeDouble", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeFloat(float b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::clazzInfo()->methods[8]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::writeFloat(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeFloat", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeInt(int b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::clazzInfo()->methods[9]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::writeInt(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeInt", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeLong(jlong b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::writeLong(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeLong", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeOpaque(IN(RbyteArray) array)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::clazzInfo()->methods[11]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::writeOpaque(array);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(array);
    _dmiProxyGetTarget()->standardDispatch("writeOpaque", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeShort(short b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::writeShort(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeShort", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeString(IN(::acdk::lang::RString) str)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::clazzInfo()->methods[13]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::writeString(str);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("writeString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeUcChar(ucchar b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::clazzInfo()->methods[14]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::writeUcChar(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("writeUcChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::flush();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RWriter getOut()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::getOut();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getOut", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::getStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RWriter getStorageWriter()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::getStorageWriter();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  void setOut(IN(::acdk::io::RWriter) writer)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[8]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::setOut(writer);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(writer);
    _dmiProxyGetTarget()->standardDispatch("setOut", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(byte c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[9]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::write(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(IN(RbyteArray) ch, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::write(ch, offset, len);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject getLock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::getLock();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLock(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::setLock(obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("setLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RCharWriter getCharWriter(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::getCharWriter(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getCharWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getWriterStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BinaryDataWriter)::getWriterStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriterStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _BinaryDataWriter_in_acdk_io_Writer_I_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new BinaryDataWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar(), (Endian)args[1].getIntVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _BinaryDataWriter_in_acdk_io_Writer_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new BinaryDataWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo BinaryDataWriter_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  BinaryDataWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _BinaryDataWriter_DmiProxy_interfaces[] =
{
  &BinaryDataWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo BinaryDataWriter_DmiProxy_methods__BinaryDataWriter_in_acdk_io_Writer_I_arg_out =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "out",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Writer::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo BinaryDataWriter_DmiProxy_methods__BinaryDataWriter_in_acdk_io_Writer_I_arg_en =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "en",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* BinaryDataWriter_methods__BinaryDataWriter_in_acdk_io_Writer_I_args[] = 
{
  &BinaryDataWriter_DmiProxy_methods__BinaryDataWriter_in_acdk_io_Writer_I_arg_out,
  &BinaryDataWriter_DmiProxy_methods__BinaryDataWriter_in_acdk_io_Writer_I_arg_en,
  0
};

::acdk::lang::dmi::ClazzMethodInfo BinaryDataWriter_DmiProxy_methods__BinaryDataWriter_in_acdk_io_Writer_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "BinaryDataWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  BinaryDataWriter::clazzInfo(), // returnType
  "_0_BinaryDataWriter_DmiProxy", // altname
  -1, // altnamehashCode
  BinaryDataWriter_methods__BinaryDataWriter_in_acdk_io_Writer_I_args,
  0, // argumentCount
  0, // excpetions,
  BinaryDataWriter_DmiProxy::_BinaryDataWriter_in_acdk_io_Writer_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo BinaryDataWriter_DmiProxy_methods__BinaryDataWriter_in_acdk_io_Writer_arg_out =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "out",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Writer::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* BinaryDataWriter_methods__BinaryDataWriter_in_acdk_io_Writer_args[] = 
{
  &BinaryDataWriter_DmiProxy_methods__BinaryDataWriter_in_acdk_io_Writer_arg_out,
  0
};

::acdk::lang::dmi::ClazzMethodInfo BinaryDataWriter_DmiProxy_methods__BinaryDataWriter_in_acdk_io_Writer = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "BinaryDataWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  BinaryDataWriter::clazzInfo(), // returnType
  "_1_BinaryDataWriter_DmiProxy", // altname
  -1, // altnamehashCode
  BinaryDataWriter_methods__BinaryDataWriter_in_acdk_io_Writer_args,
  0, // argumentCount
  0, // excpetions,
  BinaryDataWriter_DmiProxy::_BinaryDataWriter_in_acdk_io_Writer_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* BinaryDataWriter_methods[] = 
{
  &BinaryDataWriter_DmiProxy_methods__BinaryDataWriter_in_acdk_io_Writer_I,
  &BinaryDataWriter_DmiProxy_methods__BinaryDataWriter_in_acdk_io_Writer,
  0
};

::acdk::lang::dmi::ClazzInfo* BinaryDataWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "BinaryDataWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _BinaryDataWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     BinaryDataWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_BinaryDataWriter_DmiProxy(BinaryDataWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class BufferedReader_DmiProxy
: extends BufferedReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(BufferedReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  BufferedReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, BufferedReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  BufferedReader_DmiProxy(IN(::acdk::io::RReader) in, int buffsize)
  : BufferedReader(in, buffsize)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  BufferedReader_DmiProxy(IN(::acdk::io::RReader) in)
  : BufferedReader(in)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void mark(int readlimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::mark(readlimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readlimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::clazzInfo()->methods[10]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read(IN(RbyteArray) buf, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::clazzInfo()->methods[11]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::read(buf, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buf);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::clazzInfo()->methods[12]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::clazzInfo()->methods[13]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::reset();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::seek(seekrel, seekpos);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong skip(jlong num_bytes)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::skip(num_bytes);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(num_bytes);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::io::RReader getIn()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::getIn();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::getStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RReader getStorageReader()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::getStorageReader();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  void setIn(IN(::acdk::io::RReader) reader)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[17]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::setIn(reader);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(reader);
    _dmiProxyGetTarget()->standardDispatch("setIn", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _BufferedReader_in_acdk_io_Reader_I_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new BufferedReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar(), args[1].getIntVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _BufferedReader_in_acdk_io_Reader_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new BufferedReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo BufferedReader_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  BufferedReader::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _BufferedReader_DmiProxy_interfaces[] =
{
  &BufferedReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo BufferedReader_DmiProxy_methods__BufferedReader_in_acdk_io_Reader_I_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo BufferedReader_DmiProxy_methods__BufferedReader_in_acdk_io_Reader_I_arg_buffsize =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "buffsize",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* BufferedReader_methods__BufferedReader_in_acdk_io_Reader_I_args[] = 
{
  &BufferedReader_DmiProxy_methods__BufferedReader_in_acdk_io_Reader_I_arg_in,
  &BufferedReader_DmiProxy_methods__BufferedReader_in_acdk_io_Reader_I_arg_buffsize,
  0
};

::acdk::lang::dmi::ClazzMethodInfo BufferedReader_DmiProxy_methods__BufferedReader_in_acdk_io_Reader_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "BufferedReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  BufferedReader::clazzInfo(), // returnType
  "_0_BufferedReader_DmiProxy", // altname
  -1, // altnamehashCode
  BufferedReader_methods__BufferedReader_in_acdk_io_Reader_I_args,
  0, // argumentCount
  0, // excpetions,
  BufferedReader_DmiProxy::_BufferedReader_in_acdk_io_Reader_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo BufferedReader_DmiProxy_methods__BufferedReader_in_acdk_io_Reader_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* BufferedReader_methods__BufferedReader_in_acdk_io_Reader_args[] = 
{
  &BufferedReader_DmiProxy_methods__BufferedReader_in_acdk_io_Reader_arg_in,
  0
};

::acdk::lang::dmi::ClazzMethodInfo BufferedReader_DmiProxy_methods__BufferedReader_in_acdk_io_Reader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "BufferedReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  BufferedReader::clazzInfo(), // returnType
  "_1_BufferedReader_DmiProxy", // altname
  -1, // altnamehashCode
  BufferedReader_methods__BufferedReader_in_acdk_io_Reader_args,
  0, // argumentCount
  0, // excpetions,
  BufferedReader_DmiProxy::_BufferedReader_in_acdk_io_Reader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* BufferedReader_methods[] = 
{
  &BufferedReader_DmiProxy_methods__BufferedReader_in_acdk_io_Reader_I,
  &BufferedReader_DmiProxy_methods__BufferedReader_in_acdk_io_Reader,
  0
};

::acdk::lang::dmi::ClazzInfo* BufferedReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "BufferedReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _BufferedReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     BufferedReader_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_BufferedReader_DmiProxy(BufferedReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class BufferedWriter_DmiProxy
: extends BufferedWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(BufferedWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  BufferedWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, BufferedWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  BufferedWriter_DmiProxy(IN(::acdk::io::RWriter) writer, int buffsize)
  : BufferedWriter(writer, buffsize)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  BufferedWriter_DmiProxy(IN(::acdk::io::RWriter) writer)
  : BufferedWriter(writer)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::flush();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(byte b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::clazzInfo()->methods[9]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::write(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(IN(RbyteArray) ch, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::write(ch, offset, len);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RWriter getOut()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::getOut();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getOut", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::getStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RWriter getStorageWriter()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::getStorageWriter();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStorageWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  void setOut(IN(::acdk::io::RWriter) writer)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterWriter)::clazzInfo()->methods[8]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::setOut(writer);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(writer);
    _dmiProxyGetTarget()->standardDispatch("setOut", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject getLock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::getLock();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLock(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::setLock(obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("setLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RCharWriter getCharWriter(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::getCharWriter(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getCharWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getWriterStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, BufferedWriter)::getWriterStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriterStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _BufferedWriter_in_acdk_io_Writer_I_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new BufferedWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar(), args[1].getIntVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _BufferedWriter_in_acdk_io_Writer_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new BufferedWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo BufferedWriter_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  BufferedWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _BufferedWriter_DmiProxy_interfaces[] =
{
  &BufferedWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo BufferedWriter_DmiProxy_methods__BufferedWriter_in_acdk_io_Writer_I_arg_writer =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "writer",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Writer::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo BufferedWriter_DmiProxy_methods__BufferedWriter_in_acdk_io_Writer_I_arg_buffsize =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "buffsize",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* BufferedWriter_methods__BufferedWriter_in_acdk_io_Writer_I_args[] = 
{
  &BufferedWriter_DmiProxy_methods__BufferedWriter_in_acdk_io_Writer_I_arg_writer,
  &BufferedWriter_DmiProxy_methods__BufferedWriter_in_acdk_io_Writer_I_arg_buffsize,
  0
};

::acdk::lang::dmi::ClazzMethodInfo BufferedWriter_DmiProxy_methods__BufferedWriter_in_acdk_io_Writer_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "BufferedWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  BufferedWriter::clazzInfo(), // returnType
  "_0_BufferedWriter_DmiProxy", // altname
  -1, // altnamehashCode
  BufferedWriter_methods__BufferedWriter_in_acdk_io_Writer_I_args,
  0, // argumentCount
  0, // excpetions,
  BufferedWriter_DmiProxy::_BufferedWriter_in_acdk_io_Writer_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo BufferedWriter_DmiProxy_methods__BufferedWriter_in_acdk_io_Writer_arg_writer =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "writer",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Writer::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* BufferedWriter_methods__BufferedWriter_in_acdk_io_Writer_args[] = 
{
  &BufferedWriter_DmiProxy_methods__BufferedWriter_in_acdk_io_Writer_arg_writer,
  0
};

::acdk::lang::dmi::ClazzMethodInfo BufferedWriter_DmiProxy_methods__BufferedWriter_in_acdk_io_Writer = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "BufferedWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  BufferedWriter::clazzInfo(), // returnType
  "_1_BufferedWriter_DmiProxy", // altname
  -1, // altnamehashCode
  BufferedWriter_methods__BufferedWriter_in_acdk_io_Writer_args,
  0, // argumentCount
  0, // excpetions,
  BufferedWriter_DmiProxy::_BufferedWriter_in_acdk_io_Writer_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* BufferedWriter_methods[] = 
{
  &BufferedWriter_DmiProxy_methods__BufferedWriter_in_acdk_io_Writer_I,
  &BufferedWriter_DmiProxy_methods__BufferedWriter_in_acdk_io_Writer,
  0
};

::acdk::lang::dmi::ClazzInfo* BufferedWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "BufferedWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _BufferedWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     BufferedWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_BufferedWriter_DmiProxy(BufferedWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class ByteToCharReader_DmiProxy
: extends ByteToCharReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(ByteToCharReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  ByteToCharReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, ByteToCharReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  ByteToCharReader_DmiProxy(IN(::acdk::io::RReader) in, IN(::acdk::locale::RDecoder) decoder, IN(::acdk::lang::RObject) iolock)
  : ByteToCharReader(in, decoder, iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ByteToCharReader_DmiProxy(IN(::acdk::io::RReader) in)
  : ByteToCharReader(in)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ByteToCharReader_DmiProxy(IN(::acdk::io::RReader) in, IN(::acdk::locale::RDecoder) decoder)
  : ByteToCharReader(in, decoder)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RReader getReader(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::getReader(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  int readChar()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::readChar();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::readString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharReader)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new ByteToCharReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar(), (::acdk::locale::RDecoder)args[1].getObjectVar(), (::acdk::lang::RObject)args[2].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ByteToCharReader_in_acdk_io_Reader_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new ByteToCharReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new ByteToCharReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar(), (::acdk::locale::RDecoder)args[1].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo ByteToCharReader_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  ByteToCharReader::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _ByteToCharReader_DmiProxy_interfaces[] =
{
  &ByteToCharReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_decoder =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "decoder",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::locale::Decoder::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_iolock =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "iolock",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* ByteToCharReader_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_args[] = 
{
  &ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_in,
  &ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_decoder,
  &ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "ByteToCharReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ByteToCharReader::clazzInfo(), // returnType
  "_0_ByteToCharReader_DmiProxy", // altname
  -1, // altnamehashCode
  ByteToCharReader_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  ByteToCharReader_DmiProxy::_ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* ByteToCharReader_methods__ByteToCharReader_in_acdk_io_Reader_args[] = 
{
  &ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_arg_in,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "ByteToCharReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ByteToCharReader::clazzInfo(), // returnType
  "_1_ByteToCharReader_DmiProxy", // altname
  -1, // altnamehashCode
  ByteToCharReader_methods__ByteToCharReader_in_acdk_io_Reader_args,
  0, // argumentCount
  0, // excpetions,
  ByteToCharReader_DmiProxy::_ByteToCharReader_in_acdk_io_Reader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_arg_in =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "in",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Reader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_arg_decoder =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "decoder",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::locale::Decoder::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* ByteToCharReader_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_args[] = 
{
  &ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_arg_in,
  &ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_arg_decoder,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "ByteToCharReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ByteToCharReader::clazzInfo(), // returnType
  "_2_ByteToCharReader_DmiProxy", // altname
  -1, // altnamehashCode
  ByteToCharReader_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_args,
  0, // argumentCount
  0, // excpetions,
  ByteToCharReader_DmiProxy::_ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* ByteToCharReader_methods[] = 
{
  &ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder_in_acdk_lang_Object,
  &ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader,
  &ByteToCharReader_DmiProxy_methods__ByteToCharReader_in_acdk_io_Reader_in_acdk_locale_Decoder,
  0
};

::acdk::lang::dmi::ClazzInfo* ByteToCharReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "ByteToCharReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _ByteToCharReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     ByteToCharReader_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_ByteToCharReader_DmiProxy(ByteToCharReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class ByteToCharWriter_DmiProxy
: extends ByteToCharWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(ByteToCharWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  ByteToCharWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, ByteToCharWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  ByteToCharWriter_DmiProxy(IN(::acdk::io::RCharWriter) charWriter, IN(::acdk::locale::RDecoder) dec, IN(::acdk::lang::RObject) iolock)
  : ByteToCharWriter(charWriter, dec, iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ByteToCharWriter_DmiProxy(IN(::acdk::io::RCharWriter) charWriter)
  : ByteToCharWriter(charWriter)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ByteToCharWriter_DmiProxy(IN(::acdk::io::RCharWriter) charWriter, IN(::acdk::locale::RDecoder) dec)
  : ByteToCharWriter(charWriter, dec)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::flush();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(byte c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::write(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject getLock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::getLock();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void setLock(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::setLock(obj);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("setLock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void write(IN(RbyteArray) ch, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractWriter)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::write(ch, offset, len);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("write", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RCharWriter getCharWriter(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::getCharWriter(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getCharWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getWriterStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ByteToCharWriter)::getWriterStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriterStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new ByteToCharWriter_DmiProxy((::acdk::io::RCharWriter)args[0].getObjectVar(), (::acdk::locale::RDecoder)args[1].getObjectVar(), (::acdk::lang::RObject)args[2].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ByteToCharWriter_in_acdk_io_CharWriter_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new ByteToCharWriter_DmiProxy((::acdk::io::RCharWriter)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new ByteToCharWriter_DmiProxy((::acdk::io::RCharWriter)args[0].getObjectVar(), (::acdk::locale::RDecoder)args[1].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo ByteToCharWriter_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  ByteToCharWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _ByteToCharWriter_DmiProxy_interfaces[] =
{
  &ByteToCharWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_charWriter =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "charWriter",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::CharWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_dec =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "dec",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::locale::Decoder::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_iolock =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "iolock",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* ByteToCharWriter_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_in_acdk_lang_Object_args[] = 
{
  &ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_charWriter,
  &ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_dec,
  &ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "ByteToCharWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ByteToCharWriter::clazzInfo(), // returnType
  "_0_ByteToCharWriter_DmiProxy", // altname
  -1, // altnamehashCode
  ByteToCharWriter_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  ByteToCharWriter_DmiProxy::_ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_arg_charWriter =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "charWriter",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::CharWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* ByteToCharWriter_methods__ByteToCharWriter_in_acdk_io_CharWriter_args[] = 
{
  &ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_arg_charWriter,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "ByteToCharWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ByteToCharWriter::clazzInfo(), // returnType
  "_1_ByteToCharWriter_DmiProxy", // altname
  -1, // altnamehashCode
  ByteToCharWriter_methods__ByteToCharWriter_in_acdk_io_CharWriter_args,
  0, // argumentCount
  0, // excpetions,
  ByteToCharWriter_DmiProxy::_ByteToCharWriter_in_acdk_io_CharWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_arg_charWriter =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "charWriter",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::CharWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_arg_dec =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "dec",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::locale::Decoder::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* ByteToCharWriter_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_args[] = 
{
  &ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_arg_charWriter,
  &ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_arg_dec,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "ByteToCharWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ByteToCharWriter::clazzInfo(), // returnType
  "_2_ByteToCharWriter_DmiProxy", // altname
  -1, // altnamehashCode
  ByteToCharWriter_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_args,
  0, // argumentCount
  0, // excpetions,
  ByteToCharWriter_DmiProxy::_ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* ByteToCharWriter_methods[] = 
{
  &ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder_in_acdk_lang_Object,
  &ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter,
  &ByteToCharWriter_DmiProxy_methods__ByteToCharWriter_in_acdk_io_CharWriter_in_acdk_locale_Decoder,
  0
};

::acdk::lang::dmi::ClazzInfo* ByteToCharWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "ByteToCharWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _ByteToCharWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     ByteToCharWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_ByteToCharWriter_DmiProxy(ByteToCharWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class CharArrayReader_DmiProxy
: extends CharArrayReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(CharArrayReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  CharArrayReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, CharArrayReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  CharArrayReader_DmiProxy(IN(RuccharArray) buf, int offset, int length)
  : CharArrayReader(buf, offset, length)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  CharArrayReader_DmiProxy(IN(RuccharArray) buf)
  : CharArrayReader(buf)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  CharArrayReader_DmiProxy(IN(RuccharArray) buf, int offset)
  : CharArrayReader(buf, offset)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::locale::RDecoder getDecoder()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::getDecoder();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getDecoder", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::locale::RDecoder)(::acdk::lang::RObject)__acdk_retval;
  }
  int readChar()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::readChar();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::readString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  void setDecoder(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::clazzInfo()->methods[8]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::setDecoder(decoder);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("setDecoder", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RReader getReader(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharReader)::clazzInfo()->methods[2]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayReader)::getReader(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _CharArrayReader_in_UArray_I_I_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new CharArrayReader_DmiProxy((RuccharArray)args[0].getObjectVar(), args[1].getIntVar(), args[2].getIntVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _CharArrayReader_in_UArray_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new CharArrayReader_DmiProxy((RuccharArray)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _CharArrayReader_in_UArray_I_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new CharArrayReader_DmiProxy((RuccharArray)args[0].getObjectVar(), args[1].getIntVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo CharArrayReader_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  CharArrayReader::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _CharArrayReader_DmiProxy_interfaces[] =
{
  &CharArrayReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_I_I_arg_buf =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "buf",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  uccharArray::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_I_I_arg_offset =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "offset",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_I_I_arg_length =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "length",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* CharArrayReader_methods__CharArrayReader_in_UArray_I_I_args[] = 
{
  &CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_I_I_arg_buf,
  &CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_I_I_arg_offset,
  &CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_I_I_arg_length,
  0
};

::acdk::lang::dmi::ClazzMethodInfo CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_I_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "CharArrayReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  CharArrayReader::clazzInfo(), // returnType
  "_0_CharArrayReader_DmiProxy", // altname
  -1, // altnamehashCode
  CharArrayReader_methods__CharArrayReader_in_UArray_I_I_args,
  0, // argumentCount
  0, // excpetions,
  CharArrayReader_DmiProxy::_CharArrayReader_in_UArray_I_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_arg_buf =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "buf",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  uccharArray::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* CharArrayReader_methods__CharArrayReader_in_UArray_args[] = 
{
  &CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_arg_buf,
  0
};

::acdk::lang::dmi::ClazzMethodInfo CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "CharArrayReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  CharArrayReader::clazzInfo(), // returnType
  "_1_CharArrayReader_DmiProxy", // altname
  -1, // altnamehashCode
  CharArrayReader_methods__CharArrayReader_in_UArray_args,
  0, // argumentCount
  0, // excpetions,
  CharArrayReader_DmiProxy::_CharArrayReader_in_UArray_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_I_arg_buf =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "buf",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  uccharArray::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_I_arg_offset =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "offset",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* CharArrayReader_methods__CharArrayReader_in_UArray_I_args[] = 
{
  &CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_I_arg_buf,
  &CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_I_arg_offset,
  0
};

::acdk::lang::dmi::ClazzMethodInfo CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "CharArrayReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  CharArrayReader::clazzInfo(), // returnType
  "_2_CharArrayReader_DmiProxy", // altname
  -1, // altnamehashCode
  CharArrayReader_methods__CharArrayReader_in_UArray_I_args,
  0, // argumentCount
  0, // excpetions,
  CharArrayReader_DmiProxy::_CharArrayReader_in_UArray_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* CharArrayReader_methods[] = 
{
  &CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_I_I,
  &CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray,
  &CharArrayReader_DmiProxy_methods__CharArrayReader_in_UArray_I,
  0
};

::acdk::lang::dmi::ClazzInfo* CharArrayReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "CharArrayReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _CharArrayReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     CharArrayReader_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_CharArrayReader_DmiProxy(CharArrayReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class CharArrayWriter_DmiProxy
: extends CharArrayWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(CharArrayWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  CharArrayWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, CharArrayWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  CharArrayWriter_DmiProxy(int initialSize, IN(::acdk::lang::RObject) iolock)
  : CharArrayWriter(initialSize, iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  CharArrayWriter_DmiProxy()
  : CharArrayWriter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  CharArrayWriter_DmiProxy(int initialSize)
  : CharArrayWriter(initialSize)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void writeChar(char c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayWriter)::clazzInfo()->methods[9]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayWriter)::writeChar(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeChar(ucchar c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayWriter)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayWriter)::writeChar(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeString(IN(::acdk::lang::RString) str)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayWriter)::clazzInfo()->methods[11]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayWriter)::writeString(str);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("writeString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayWriter)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayWriter)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayWriter)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayWriter)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayWriter)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayWriter)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayWriter)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RWriter getWriter(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharArrayWriter)::getWriter(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _CharArrayWriter_I_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new CharArrayWriter_DmiProxy(args[0].getIntVar(), (::acdk::lang::RObject)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _CharArrayWriter_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new CharArrayWriter_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _CharArrayWriter_I_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new CharArrayWriter_DmiProxy(args[0].getIntVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo CharArrayWriter_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  CharArrayWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _CharArrayWriter_DmiProxy_interfaces[] =
{
  &CharArrayWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo CharArrayWriter_DmiProxy_methods__CharArrayWriter_I_in_acdk_lang_Object_arg_initialSize =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "initialSize",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo CharArrayWriter_DmiProxy_methods__CharArrayWriter_I_in_acdk_lang_Object_arg_iolock =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "iolock",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* CharArrayWriter_methods__CharArrayWriter_I_in_acdk_lang_Object_args[] = 
{
  &CharArrayWriter_DmiProxy_methods__CharArrayWriter_I_in_acdk_lang_Object_arg_initialSize,
  &CharArrayWriter_DmiProxy_methods__CharArrayWriter_I_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo CharArrayWriter_DmiProxy_methods__CharArrayWriter_I_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "CharArrayWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  CharArrayWriter::clazzInfo(), // returnType
  "_0_CharArrayWriter_DmiProxy", // altname
  -1, // altnamehashCode
  CharArrayWriter_methods__CharArrayWriter_I_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  CharArrayWriter_DmiProxy::_CharArrayWriter_I_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo* CharArrayWriter_methods__CharArrayWriter_args[] = 
{
  0
};

::acdk::lang::dmi::ClazzMethodInfo CharArrayWriter_DmiProxy_methods__CharArrayWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "CharArrayWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  CharArrayWriter::clazzInfo(), // returnType
  "_1_CharArrayWriter_DmiProxy", // altname
  -1, // altnamehashCode
  CharArrayWriter_methods__CharArrayWriter_args,
  0, // argumentCount
  0, // excpetions,
  CharArrayWriter_DmiProxy::_CharArrayWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo CharArrayWriter_DmiProxy_methods__CharArrayWriter_I_arg_initialSize =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "initialSize",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

::acdk::lang::dmi::ClazzMethodArgInfo* CharArrayWriter_methods__CharArrayWriter_I_args[] = 
{
  &CharArrayWriter_DmiProxy_methods__CharArrayWriter_I_arg_initialSize,
  0
};

::acdk::lang::dmi::ClazzMethodInfo CharArrayWriter_DmiProxy_methods__CharArrayWriter_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "CharArrayWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  CharArrayWriter::clazzInfo(), // returnType
  "_2_CharArrayWriter_DmiProxy", // altname
  -1, // altnamehashCode
  CharArrayWriter_methods__CharArrayWriter_I_args,
  0, // argumentCount
  0, // excpetions,
  CharArrayWriter_DmiProxy::_CharArrayWriter_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* CharArrayWriter_methods[] = 
{
  &CharArrayWriter_DmiProxy_methods__CharArrayWriter_I_in_acdk_lang_Object,
  &CharArrayWriter_DmiProxy_methods__CharArrayWriter,
  &CharArrayWriter_DmiProxy_methods__CharArrayWriter_I,
  0
};

::acdk::lang::dmi::ClazzInfo* CharArrayWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "CharArrayWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _CharArrayWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     CharArrayWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_CharArrayWriter_DmiProxy(CharArrayWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class CharReader_DmiProxy
: extends ::acdk::lang::Object
, implements CharReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(CharReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  CharReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, CharReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new CharReader_DmiProxy(); }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  CharReader_DmiProxy()
  : CharReader()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RReader getReader(IN(::acdk::locale::REncoder) encoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharReader)::clazzInfo()->methods[2]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharReader)::getReader(encoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(encoder);
    _dmiProxyGetTarget()->standardDispatch("getReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  int readChar()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString readString()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("readString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _CharReader_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new CharReader_DmiProxy();
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo CharReader_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  CharReader::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _CharReader_DmiProxy_interfaces[] =
{
  &CharReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo* CharReader_methods__CharReader_args[] = 
{
  0
};

::acdk::lang::dmi::ClazzMethodInfo CharReader_DmiProxy_methods__CharReader = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "CharReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  CharReader::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  CharReader_methods__CharReader_args,
  0, // argumentCount
  0, // excpetions,
  CharReader_DmiProxy::_CharReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* CharReader_methods[] = 
{
  &CharReader_DmiProxy_methods__CharReader,
  0
};

::acdk::lang::dmi::ClazzInfo* CharReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "CharReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _CharReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     CharReader_methods, // pointer to Array of Methods
     0, // count of Methods
     CharReader_DmiProxy::create_instance, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_CharReader_DmiProxy(CharReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class CharToByteReader_DmiProxy
: extends CharToByteReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(CharToByteReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  CharToByteReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, CharToByteReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  CharToByteReader_DmiProxy(IN(::acdk::io::RCharReader) cin, IN(::acdk::locale::REncoder) encoder, IN(::acdk::lang::RObject) iolock)
  : CharToByteReader(cin, encoder, iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  CharToByteReader_DmiProxy(IN(::acdk::io::RCharReader) cin)
  : CharToByteReader(cin)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  CharToByteReader_DmiProxy(IN(::acdk::io::RCharReader) cin, IN(::acdk::locale::REncoder) encoder)
  : CharToByteReader(cin, encoder)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::available();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("available", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int read()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::read();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void reset()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::clazzInfo()->methods[9]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::reset();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("reset", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  jlong skip(jlong n)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::clazzInfo()->methods[10]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::skip(n);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skip", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void lock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::lock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  int read(IN(RbyteArray) buffer, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::read(buffer, offset, len);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(3);
    __acdk_args[0] = ::acdk::lang::inOf(buffer);
    __acdk_args[1] = ::acdk::lang::inOf(offset);
    __acdk_args[2] = ::acdk::lang::inOf(len);
    _dmiProxyGetTarget()->standardDispatch("read", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong seek(SeekPos seekrel, jlong seekpos)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::seek(seekrel, seekpos);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(seekrel);
    __acdk_args[1] = ::acdk::lang::inOf(seekpos);
    _dmiProxyGetTarget()->standardDispatch("seek", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void unlock()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractReader)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::unlock();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("unlock", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RCharReader getCharReader(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::getCharReader(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getCharReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RCharReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RStorage getReaderStorage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::getReaderStorage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReaderStorage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RStorage)(::acdk::lang::RObject)__acdk_retval;
  }
  void mark(int readAheadLimit)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::mark(readAheadLimit);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(readAheadLimit);
    _dmiProxyGetTarget()->standardDispatch("mark", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  bool markSupported()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::markSupported();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("markSupported", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteReader)::ready();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("ready", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new CharToByteReader_DmiProxy((::acdk::io::RCharReader)args[0].getObjectVar(), (::acdk::locale::REncoder)args[1].getObjectVar(), (::acdk::lang::RObject)args[2].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _CharToByteReader_in_acdk_io_CharReader_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new CharToByteReader_DmiProxy((::acdk::io::RCharReader)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new CharToByteReader_DmiProxy((::acdk::io::RCharReader)args[0].getObjectVar(), (::acdk::locale::REncoder)args[1].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo CharToByteReader_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  CharToByteReader::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _CharToByteReader_DmiProxy_interfaces[] =
{
  &CharToByteReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_cin =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "cin",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::CharReader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_encoder =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "encoder",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::locale::Encoder::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_iolock =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "iolock",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* CharToByteReader_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_in_acdk_lang_Object_args[] = 
{
  &CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_cin,
  &CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_encoder,
  &CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "CharToByteReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  CharToByteReader::clazzInfo(), // returnType
  "_0_CharToByteReader_DmiProxy", // altname
  -1, // altnamehashCode
  CharToByteReader_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  CharToByteReader_DmiProxy::_CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_arg_cin =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "cin",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::CharReader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* CharToByteReader_methods__CharToByteReader_in_acdk_io_CharReader_args[] = 
{
  &CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_arg_cin,
  0
};

::acdk::lang::dmi::ClazzMethodInfo CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "CharToByteReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  CharToByteReader::clazzInfo(), // returnType
  "_1_CharToByteReader_DmiProxy", // altname
  -1, // altnamehashCode
  CharToByteReader_methods__CharToByteReader_in_acdk_io_CharReader_args,
  0, // argumentCount
  0, // excpetions,
  CharToByteReader_DmiProxy::_CharToByteReader_in_acdk_io_CharReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_arg_cin =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "cin",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::CharReader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_arg_encoder =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "encoder",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::locale::Encoder::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* CharToByteReader_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_args[] = 
{
  &CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_arg_cin,
  &CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_arg_encoder,
  0
};

::acdk::lang::dmi::ClazzMethodInfo CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "CharToByteReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  CharToByteReader::clazzInfo(), // returnType
  "_2_CharToByteReader_DmiProxy", // altname
  -1, // altnamehashCode
  CharToByteReader_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_args,
  0, // argumentCount
  0, // excpetions,
  CharToByteReader_DmiProxy::_CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* CharToByteReader_methods[] = 
{
  &CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder_in_acdk_lang_Object,
  &CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader,
  &CharToByteReader_DmiProxy_methods__CharToByteReader_in_acdk_io_CharReader_in_acdk_locale_Encoder,
  0
};

::acdk::lang::dmi::ClazzInfo* CharToByteReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "CharToByteReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _CharToByteReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     CharToByteReader_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_CharToByteReader_DmiProxy(CharToByteReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class CharToByteWriter_DmiProxy
: extends CharToByteWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(CharToByteWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  CharToByteWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, CharToByteWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  CharToByteWriter_DmiProxy(IN(::acdk::io::RWriter) out, IN(::acdk::locale::REncoder) encoder, IN(::acdk::lang::RObject) iolock)
  : CharToByteWriter(out, encoder, iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  CharToByteWriter_DmiProxy(IN(::acdk::io::RWriter) out)
  : CharToByteWriter(out)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  CharToByteWriter_DmiProxy(IN(::acdk::io::RWriter) out, IN(::acdk::locale::REncoder) encoder)
  : CharToByteWriter(out, encoder)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::close();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::flush();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RWriter getWriter(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::getWriter(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  void writeChar(char c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::writeChar(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeChar(ucchar c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::clazzInfo()->methods[11]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::writeChar(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeString(IN(::acdk::lang::RString) str)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::clazzInfo()->methods[12]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::writeString(str);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("writeString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RObject clone()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::clone();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("clone", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RObject)(::acdk::lang::RObject)__acdk_retval;
  }
  int compareTo(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::compareTo(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool equals(IN(::acdk::lang::RObject) o)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::equals(o);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(o);
    _dmiProxyGetTarget()->standardDispatch("equals", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void finalize()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::finalize();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("finalize", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RClass getClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::getClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  int hashCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::hashCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("hashCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, acdk::lang::Object)::clazzInfo()->methods[15]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharToByteWriter)::toString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("toString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new CharToByteWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar(), (::acdk::locale::REncoder)args[1].getObjectVar(), (::acdk::lang::RObject)args[2].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _CharToByteWriter_in_acdk_io_Writer_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new CharToByteWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new CharToByteWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar(), (::acdk::locale::REncoder)args[1].getObjectVar());
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo CharToByteWriter_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  CharToByteWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _CharToByteWriter_DmiProxy_interfaces[] =
{
  &CharToByteWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_out =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "out",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Writer::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_encoder =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "encoder",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::locale::Encoder::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_iolock =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "iolock",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::Object::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* CharToByteWriter_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_args[] = 
{
  &CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_out,
  &CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_encoder,
  &CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "CharToByteWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  CharToByteWriter::clazzInfo(), // returnType
  "_0_CharToByteWriter_DmiProxy", // altname
  -1, // altnamehashCode
  CharToByteWriter_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  CharToByteWriter_DmiProxy::_CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_arg_out =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "out",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Writer::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* CharToByteWriter_methods__CharToByteWriter_in_acdk_io_Writer_args[] = 
{
  &CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_arg_out,
  0
};

::acdk::lang::dmi::ClazzMethodInfo CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "CharToByteWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  CharToByteWriter::clazzInfo(), // returnType
  "_1_CharToByteWriter_DmiProxy", // altname
  -1, // altnamehashCode
  CharToByteWriter_methods__CharToByteWriter_in_acdk_io_Writer_args,
  0, // argumentCount
  0, // excpetions,
  CharToByteWriter_DmiProxy::_CharToByteWriter_in_acdk_io_Writer_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_arg_out =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn,
  0, //AttributesRes
  "out",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::Writer::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_arg_encoder =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "encoder",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::locale::Encoder::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* CharToByteWriter_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_args[] = 
{
  &CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_arg_out,
  &CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_arg_encoder,
  0
};

::acdk::lang::dmi::ClazzMethodInfo CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "CharToByteWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  CharToByteWriter::clazzInfo(), // returnType
  "_2_CharToByteWriter_DmiProxy", // altname
  -1, // altnamehashCode
  CharToByteWriter_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_args,
  0, // argumentCount
  0, // excpetions,
  CharToByteWriter_DmiProxy::_CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* CharToByteWriter_methods[] = 
{
  &CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object,
  &CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer,
  &CharToByteWriter_DmiProxy_methods__CharToByteWriter_in_acdk_io_Writer_in_acdk_locale_Encoder,
  0
};

::acdk::lang::dmi::ClazzInfo* CharToByteWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "CharToByteWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _CharToByteWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     CharToByteWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     0, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_CharToByteWriter_DmiProxy(CharToByteWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class CharWriter_DmiProxy
: extends ::acdk::lang::Object
, implements CharWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(CharWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  CharWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, CharWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new CharWriter_DmiProxy(); }
  virtual bool _gc_releaseRef(bool force = false) const { return ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_gc_releaseRef(this); }
  ::acdk::lang::Object* getDmiTarget(bool& forwarded, const ::acdk::lang::dmi::ClazzInfo*& ci) { return _dmiProxygetDmiTarget(forwarded, ci); }
  CharWriter_DmiProxy()
  : CharWriter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void close()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("close", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void flush()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("flush", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::io::RWriter getWriter(IN(::acdk::locale::RDecoder) decoder)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharWriter)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, CharWriter)::getWriter(decoder);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(decoder);
    _dmiProxyGetTarget()->standardDispatch("getWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  void writeChar(char c)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeChar(ucchar c)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("writeChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeString(IN(::acdk::lang::RString) str)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("writeString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _CharWriter_dispatch(::acdk::lang::Object* This_, IN(::acdk::lang::RString) fname, ::acdk::lang::dmi::ScriptVar& ret, ::acdk::lang::dmi::ScriptVarArray& args, ::acdk::lang::dmi::DmiClient& dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const ::acdk::lang::dmi::ClazzInfo* clazzinfo, const ::acdk::lang::dmi::ClazzMethodInfo* methinf)
  {
    ret = (::acdk::lang::RObject) new CharWriter_DmiProxy();
    return methinf;
  }
};

::acdk::lang::dmi::ClazzSuperInfo CharWriter_DmiProxy_super =
{
  ::acdk::lang::dmi::MiPublic,
  0, //AttributesRes
  CharWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzSuperInfo* _CharWriter_DmiProxy_interfaces[] =
{
  &CharWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo* CharWriter_methods__CharWriter_args[] = 
{
  0
};

::acdk::lang::dmi::ClazzMethodInfo CharWriter_DmiProxy_methods__CharWriter = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "CharWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  CharWriter::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  CharWriter_methods__CharWriter_args,
  0, // argumentCount
  0, // excpetions,
  CharWriter_DmiProxy::_CharWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* CharWriter_methods[] = 
{
  &CharWriter_DmiProxy_methods__CharWriter,
  0
};

::acdk::lang::dmi::ClazzInfo* CharWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "CharWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _CharWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     CharWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     CharWriter_DmiProxy::create_instance, // create-function for cloning/serializing
     0, // create-function for cloning/serializing arrays
     0, // create-function for cloning/serializing arrays
     0, // Class* thisClass; chaching instance
     0, // jlong serialVersionUID; for serialization
     ::acdk::lang::dmi::StdDispatch::_invoke_dynamic, // dynamic_dispatch
     ::acdk::lang::dmi::StdDispatch::_invoke_static, // static_dispatch
     0, // count off all collectable members in this class
     0, // user defined info
     0 // next ClazzInfo in chain
  };
  static ::acdk::lang::dmi::RegisterClazzInfo _register_clazzInfo(&_clazzInfo);
  return &_clazzInfo;
};
static ::acdk::lang::dmi::RegisterClazzInfo _register_CharWriter_DmiProxy(CharWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io