2005/5/9

     
 

io_dmiproxy2.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 ObjectStreamException_DmiProxy
: extends ObjectStreamException
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(ObjectStreamException)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  ObjectStreamException::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, ObjectStreamException)::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); }
  ObjectStreamException_DmiProxy()
  : ObjectStreamException()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ObjectStreamException_DmiProxy(IN(::acdk::lang::RString) what)
  : ObjectStreamException(what)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RThrowable getCause()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectStreamException)::getCause();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getCause", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RThrowable)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getMessage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectStreamException)::getMessage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getMessage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RStackFrameArray getStackFrames()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectStreamException)::getStackFrames();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStackFrames", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RStackFrameArray)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RThrowable initCause(IN(::acdk::lang::RThrowable) cause)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectStreamException)::initCause(cause);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(cause);
    _dmiProxyGetTarget()->standardDispatch("initCause", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RThrowable)(::acdk::lang::RObject)__acdk_retval;
  }
  void printStackTrace(IN(::acdk::io::RPrintWriter) out)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectStreamException)::printStackTrace(out);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    _dmiProxyGetTarget()->standardDispatch("printStackTrace", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void printStackTrace()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[11]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectStreamException)::printStackTrace();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("printStackTrace", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeObject(IN(::acdk::io::RObjectWriter) out, IN(::acdk::lang::RClass) cls)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[16]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectStreamException)::writeObject(out, cls);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    __acdk_args[1] = ::acdk::lang::inOf(cls);
    _dmiProxyGetTarget()->standardDispatch("writeObject", __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::, ObjectStreamException)::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::, ObjectStreamException)::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::, ObjectStreamException)::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::, ObjectStreamException)::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::, ObjectStreamException)::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::, ObjectStreamException)::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::, ObjectStreamException)::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*
  _ObjectStreamException_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 ObjectStreamException_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _ObjectStreamException_in_acdk_lang_String_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 ObjectStreamException_DmiProxy((::acdk::lang::RString)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _ObjectStreamException_DmiProxy_interfaces[] =
{
  &ObjectStreamException_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo ObjectStreamException_DmiProxy_methods__ObjectStreamException = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "ObjectStreamException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ObjectStreamException::clazzInfo(), // returnType
  "_0_ObjectStreamException_DmiProxy", // altname
  -1, // altnamehashCode
  ObjectStreamException_methods__ObjectStreamException_args,
  0, // argumentCount
  0, // excpetions,
  ObjectStreamException_DmiProxy::_ObjectStreamException_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* ObjectStreamException_methods__ObjectStreamException_in_acdk_lang_String_args[] = 
{
  &ObjectStreamException_DmiProxy_methods__ObjectStreamException_in_acdk_lang_String_arg_what,
  0
};

::acdk::lang::dmi::ClazzMethodInfo ObjectStreamException_DmiProxy_methods__ObjectStreamException_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "ObjectStreamException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ObjectStreamException::clazzInfo(), // returnType
  "_1_ObjectStreamException_DmiProxy", // altname
  -1, // altnamehashCode
  ObjectStreamException_methods__ObjectStreamException_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  ObjectStreamException_DmiProxy::_ObjectStreamException_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* ObjectStreamException_methods[] = 
{
  &ObjectStreamException_DmiProxy_methods__ObjectStreamException,
  &ObjectStreamException_DmiProxy_methods__ObjectStreamException_in_acdk_lang_String,
  0
};

::acdk::lang::dmi::ClazzInfo* ObjectStreamException_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "ObjectStreamException_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _ObjectStreamException_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     ObjectStreamException_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_ObjectStreamException_DmiProxy(ObjectStreamException_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class InvalidClassException_DmiProxy
: extends InvalidClassException
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(InvalidClassException)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  InvalidClassException::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, InvalidClassException)::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); }
  InvalidClassException_DmiProxy()
  : InvalidClassException()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  InvalidClassException_DmiProxy(IN(::acdk::lang::RString) what)
  : InvalidClassException(what)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RThrowable getCause()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InvalidClassException)::getCause();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getCause", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RThrowable)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getMessage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InvalidClassException)::getMessage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getMessage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RStackFrameArray getStackFrames()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InvalidClassException)::getStackFrames();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStackFrames", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RStackFrameArray)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RThrowable initCause(IN(::acdk::lang::RThrowable) cause)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InvalidClassException)::initCause(cause);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(cause);
    _dmiProxyGetTarget()->standardDispatch("initCause", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RThrowable)(::acdk::lang::RObject)__acdk_retval;
  }
  void printStackTrace(IN(::acdk::io::RPrintWriter) out)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InvalidClassException)::printStackTrace(out);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    _dmiProxyGetTarget()->standardDispatch("printStackTrace", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void printStackTrace()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[11]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InvalidClassException)::printStackTrace();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("printStackTrace", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeObject(IN(::acdk::io::RObjectWriter) out, IN(::acdk::lang::RClass) cls)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[16]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, InvalidClassException)::writeObject(out, cls);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    __acdk_args[1] = ::acdk::lang::inOf(cls);
    _dmiProxyGetTarget()->standardDispatch("writeObject", __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::, InvalidClassException)::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::, InvalidClassException)::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::, InvalidClassException)::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::, InvalidClassException)::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::, InvalidClassException)::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::, InvalidClassException)::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::, InvalidClassException)::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*
  _InvalidClassException_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 InvalidClassException_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _InvalidClassException_in_acdk_lang_String_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 InvalidClassException_DmiProxy((::acdk::lang::RString)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _InvalidClassException_DmiProxy_interfaces[] =
{
  &InvalidClassException_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo InvalidClassException_DmiProxy_methods__InvalidClassException = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "InvalidClassException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  InvalidClassException::clazzInfo(), // returnType
  "_0_InvalidClassException_DmiProxy", // altname
  -1, // altnamehashCode
  InvalidClassException_methods__InvalidClassException_args,
  0, // argumentCount
  0, // excpetions,
  InvalidClassException_DmiProxy::_InvalidClassException_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* InvalidClassException_methods__InvalidClassException_in_acdk_lang_String_args[] = 
{
  &InvalidClassException_DmiProxy_methods__InvalidClassException_in_acdk_lang_String_arg_what,
  0
};

::acdk::lang::dmi::ClazzMethodInfo InvalidClassException_DmiProxy_methods__InvalidClassException_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "InvalidClassException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  InvalidClassException::clazzInfo(), // returnType
  "_1_InvalidClassException_DmiProxy", // altname
  -1, // altnamehashCode
  InvalidClassException_methods__InvalidClassException_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  InvalidClassException_DmiProxy::_InvalidClassException_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* InvalidClassException_methods[] = 
{
  &InvalidClassException_DmiProxy_methods__InvalidClassException,
  &InvalidClassException_DmiProxy_methods__InvalidClassException_in_acdk_lang_String,
  0
};

::acdk::lang::dmi::ClazzInfo* InvalidClassException_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "InvalidClassException_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _InvalidClassException_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     InvalidClassException_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_InvalidClassException_DmiProxy(InvalidClassException_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class NotSerializableException_DmiProxy
: extends NotSerializableException
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(NotSerializableException)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  NotSerializableException::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, NotSerializableException)::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); }
  NotSerializableException_DmiProxy()
  : NotSerializableException()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  NotSerializableException_DmiProxy(IN(::acdk::lang::RString) what)
  : NotSerializableException(what)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RThrowable getCause()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, NotSerializableException)::getCause();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getCause", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RThrowable)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getMessage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, NotSerializableException)::getMessage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getMessage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RStackFrameArray getStackFrames()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, NotSerializableException)::getStackFrames();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStackFrames", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RStackFrameArray)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RThrowable initCause(IN(::acdk::lang::RThrowable) cause)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, NotSerializableException)::initCause(cause);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(cause);
    _dmiProxyGetTarget()->standardDispatch("initCause", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RThrowable)(::acdk::lang::RObject)__acdk_retval;
  }
  void printStackTrace(IN(::acdk::io::RPrintWriter) out)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, NotSerializableException)::printStackTrace(out);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    _dmiProxyGetTarget()->standardDispatch("printStackTrace", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void printStackTrace()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[11]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, NotSerializableException)::printStackTrace();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("printStackTrace", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeObject(IN(::acdk::io::RObjectWriter) out, IN(::acdk::lang::RClass) cls)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[16]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, NotSerializableException)::writeObject(out, cls);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    __acdk_args[1] = ::acdk::lang::inOf(cls);
    _dmiProxyGetTarget()->standardDispatch("writeObject", __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::, NotSerializableException)::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::, NotSerializableException)::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::, NotSerializableException)::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::, NotSerializableException)::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::, NotSerializableException)::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::, NotSerializableException)::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::, NotSerializableException)::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*
  _NotSerializableException_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 NotSerializableException_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _NotSerializableException_in_acdk_lang_String_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 NotSerializableException_DmiProxy((::acdk::lang::RString)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _NotSerializableException_DmiProxy_interfaces[] =
{
  &NotSerializableException_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo NotSerializableException_DmiProxy_methods__NotSerializableException = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "NotSerializableException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  NotSerializableException::clazzInfo(), // returnType
  "_0_NotSerializableException_DmiProxy", // altname
  -1, // altnamehashCode
  NotSerializableException_methods__NotSerializableException_args,
  0, // argumentCount
  0, // excpetions,
  NotSerializableException_DmiProxy::_NotSerializableException_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* NotSerializableException_methods__NotSerializableException_in_acdk_lang_String_args[] = 
{
  &NotSerializableException_DmiProxy_methods__NotSerializableException_in_acdk_lang_String_arg_what,
  0
};

::acdk::lang::dmi::ClazzMethodInfo NotSerializableException_DmiProxy_methods__NotSerializableException_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "NotSerializableException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  NotSerializableException::clazzInfo(), // returnType
  "_1_NotSerializableException_DmiProxy", // altname
  -1, // altnamehashCode
  NotSerializableException_methods__NotSerializableException_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  NotSerializableException_DmiProxy::_NotSerializableException_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* NotSerializableException_methods[] = 
{
  &NotSerializableException_DmiProxy_methods__NotSerializableException,
  &NotSerializableException_DmiProxy_methods__NotSerializableException_in_acdk_lang_String,
  0
};

::acdk::lang::dmi::ClazzInfo* NotSerializableException_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "NotSerializableException_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _NotSerializableException_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     NotSerializableException_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_NotSerializableException_DmiProxy(NotSerializableException_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class StreamCorruptedException_DmiProxy
: extends StreamCorruptedException
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(StreamCorruptedException)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  StreamCorruptedException::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, StreamCorruptedException)::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); }
  StreamCorruptedException_DmiProxy()
  : StreamCorruptedException()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  StreamCorruptedException_DmiProxy(IN(::acdk::lang::RString) what)
  : StreamCorruptedException(what)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RThrowable getCause()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamCorruptedException)::getCause();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getCause", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RThrowable)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getMessage()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamCorruptedException)::getMessage();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getMessage", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RStackFrameArray getStackFrames()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamCorruptedException)::getStackFrames();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getStackFrames", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RStackFrameArray)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RThrowable initCause(IN(::acdk::lang::RThrowable) cause)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamCorruptedException)::initCause(cause);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(cause);
    _dmiProxyGetTarget()->standardDispatch("initCause", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RThrowable)(::acdk::lang::RObject)__acdk_retval;
  }
  void printStackTrace(IN(::acdk::io::RPrintWriter) out)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamCorruptedException)::printStackTrace(out);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    _dmiProxyGetTarget()->standardDispatch("printStackTrace", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void printStackTrace()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[11]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamCorruptedException)::printStackTrace();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("printStackTrace", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void writeObject(IN(::acdk::io::RObjectWriter) out, IN(::acdk::lang::RClass) cls)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::, Throwable)::clazzInfo()->methods[16]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamCorruptedException)::writeObject(out, cls);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    __acdk_args[1] = ::acdk::lang::inOf(cls);
    _dmiProxyGetTarget()->standardDispatch("writeObject", __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::, StreamCorruptedException)::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::, StreamCorruptedException)::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::, StreamCorruptedException)::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::, StreamCorruptedException)::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::, StreamCorruptedException)::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::, StreamCorruptedException)::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::, StreamCorruptedException)::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*
  _StreamCorruptedException_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 StreamCorruptedException_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _StreamCorruptedException_in_acdk_lang_String_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 StreamCorruptedException_DmiProxy((::acdk::lang::RString)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _StreamCorruptedException_DmiProxy_interfaces[] =
{
  &StreamCorruptedException_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo StreamCorruptedException_DmiProxy_methods__StreamCorruptedException = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "StreamCorruptedException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  StreamCorruptedException::clazzInfo(), // returnType
  "_0_StreamCorruptedException_DmiProxy", // altname
  -1, // altnamehashCode
  StreamCorruptedException_methods__StreamCorruptedException_args,
  0, // argumentCount
  0, // excpetions,
  StreamCorruptedException_DmiProxy::_StreamCorruptedException_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* StreamCorruptedException_methods__StreamCorruptedException_in_acdk_lang_String_args[] = 
{
  &StreamCorruptedException_DmiProxy_methods__StreamCorruptedException_in_acdk_lang_String_arg_what,
  0
};

::acdk::lang::dmi::ClazzMethodInfo StreamCorruptedException_DmiProxy_methods__StreamCorruptedException_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "StreamCorruptedException_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  StreamCorruptedException::clazzInfo(), // returnType
  "_1_StreamCorruptedException_DmiProxy", // altname
  -1, // altnamehashCode
  StreamCorruptedException_methods__StreamCorruptedException_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  StreamCorruptedException_DmiProxy::_StreamCorruptedException_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* StreamCorruptedException_methods[] = 
{
  &StreamCorruptedException_DmiProxy_methods__StreamCorruptedException,
  &StreamCorruptedException_DmiProxy_methods__StreamCorruptedException_in_acdk_lang_String,
  0
};

::acdk::lang::dmi::ClazzInfo* StreamCorruptedException_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "StreamCorruptedException_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _StreamCorruptedException_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     StreamCorruptedException_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_StreamCorruptedException_DmiProxy(StreamCorruptedException_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class ObjectWriter_DmiProxy
: extends ::acdk::lang::Object
, implements ObjectWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(ObjectWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  ObjectWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, ObjectWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new ObjectWriter_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); }
  ObjectWriter_DmiProxy()
  : ObjectWriter()
  {
     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)
  {
    ::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 writeClassDescriptor(IN(::acdk::lang::RClass) cls, IN(::acdk::lang::RObject) obj)
  {
    ::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 writeObject(IN(::acdk::lang::RClass) cls, IN(::acdk::lang::RObject) obj)
  {
    ::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 writeObject(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, ObjectWriter)::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 writeUnshared(IN(::acdk::lang::RClass) cls, IN(::acdk::lang::RObject) obj)
  {
    ::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 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 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::, ObjectWriter)::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 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);
  }
  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);
  }
  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::RStorage 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()
  {
    ::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)
  {
    ::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)
  {
    ::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 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::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::, ObjectWriter)::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::, ObjectWriter)::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*
  _ObjectWriter_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 ObjectWriter_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _ObjectWriter_DmiProxy_interfaces[] =
{
  &ObjectWriter_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo ObjectWriter_DmiProxy_methods__ObjectWriter = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "ObjectWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  ObjectWriter::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  ObjectWriter_methods__ObjectWriter_args,
  0, // argumentCount
  0, // excpetions,
  ObjectWriter_DmiProxy::_ObjectWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* ObjectWriter_methods[] = 
{
  &ObjectWriter_DmiProxy_methods__ObjectWriter,
  0
};

::acdk::lang::dmi::ClazzInfo* ObjectWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "ObjectWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _ObjectWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     ObjectWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     ObjectWriter_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_ObjectWriter_DmiProxy(ObjectWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class PipedReader_DmiProxy
: extends PipedReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(PipedReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  PipedReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, PipedReader)::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); }
  PipedReader_DmiProxy()
  : PipedReader()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  PipedReader_DmiProxy(IN(::acdk::io::RPipedWriter) in)
  : PipedReader(in)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void connect(IN(::acdk::io::RPipedWriter) in)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PipedReader)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PipedReader)::connect(in);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(in);
    _dmiProxyGetTarget()->standardDispatch("connect", __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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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::, PipedReader)::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*
  _PipedReader_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 PipedReader_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _PipedReader_in_acdk_io_PipedWriter_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 PipedReader_DmiProxy((::acdk::io::RPipedWriter)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _PipedReader_DmiProxy_interfaces[] =
{
  &PipedReader_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo PipedReader_DmiProxy_methods__PipedReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "PipedReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PipedReader::clazzInfo(), // returnType
  "_0_PipedReader_DmiProxy", // altname
  -1, // altnamehashCode
  PipedReader_methods__PipedReader_args,
  0, // argumentCount
  0, // excpetions,
  PipedReader_DmiProxy::_PipedReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* PipedReader_methods__PipedReader_in_acdk_io_PipedWriter_args[] = 
{
  &PipedReader_DmiProxy_methods__PipedReader_in_acdk_io_PipedWriter_arg_in,
  0
};

::acdk::lang::dmi::ClazzMethodInfo PipedReader_DmiProxy_methods__PipedReader_in_acdk_io_PipedWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "PipedReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PipedReader::clazzInfo(), // returnType
  "_1_PipedReader_DmiProxy", // altname
  -1, // altnamehashCode
  PipedReader_methods__PipedReader_in_acdk_io_PipedWriter_args,
  0, // argumentCount
  0, // excpetions,
  PipedReader_DmiProxy::_PipedReader_in_acdk_io_PipedWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* PipedReader_methods[] = 
{
  &PipedReader_DmiProxy_methods__PipedReader,
  &PipedReader_DmiProxy_methods__PipedReader_in_acdk_io_PipedWriter,
  0
};

::acdk::lang::dmi::ClazzInfo* PipedReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "PipedReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _PipedReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     PipedReader_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_PipedReader_DmiProxy(PipedReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class PipedWriter_DmiProxy
: extends PipedWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(PipedWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  PipedWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, PipedWriter)::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); }
  PipedWriter_DmiProxy()
  : PipedWriter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  PipedWriter_DmiProxy(IN(::acdk::io::RPipedReader) out)
  : PipedWriter(out)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void connect(IN(::acdk::io::RPipedReader) out)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PipedWriter)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PipedWriter)::connect(out);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(out);
    _dmiProxyGetTarget()->standardDispatch("connect", __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::, PipedWriter)::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::, PipedWriter)::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::, PipedWriter)::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::, PipedWriter)::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::, PipedWriter)::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::, PipedWriter)::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::, PipedWriter)::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::, PipedWriter)::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::, PipedWriter)::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::, PipedWriter)::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::, PipedWriter)::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::, PipedWriter)::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::, PipedWriter)::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::, PipedWriter)::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*
  _PipedWriter_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 PipedWriter_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _PipedWriter_in_acdk_io_PipedReader_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 PipedWriter_DmiProxy((::acdk::io::RPipedReader)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _PipedWriter_DmiProxy_interfaces[] =
{
  &PipedWriter_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo PipedWriter_DmiProxy_methods__PipedWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "PipedWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PipedWriter::clazzInfo(), // returnType
  "_0_PipedWriter_DmiProxy", // altname
  -1, // altnamehashCode
  PipedWriter_methods__PipedWriter_args,
  0, // argumentCount
  0, // excpetions,
  PipedWriter_DmiProxy::_PipedWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* PipedWriter_methods__PipedWriter_in_acdk_io_PipedReader_args[] = 
{
  &PipedWriter_DmiProxy_methods__PipedWriter_in_acdk_io_PipedReader_arg_out,
  0
};

::acdk::lang::dmi::ClazzMethodInfo PipedWriter_DmiProxy_methods__PipedWriter_in_acdk_io_PipedReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "PipedWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PipedWriter::clazzInfo(), // returnType
  "_1_PipedWriter_DmiProxy", // altname
  -1, // altnamehashCode
  PipedWriter_methods__PipedWriter_in_acdk_io_PipedReader_args,
  0, // argumentCount
  0, // excpetions,
  PipedWriter_DmiProxy::_PipedWriter_in_acdk_io_PipedReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* PipedWriter_methods[] = 
{
  &PipedWriter_DmiProxy_methods__PipedWriter,
  &PipedWriter_DmiProxy_methods__PipedWriter_in_acdk_io_PipedReader,
  0
};

::acdk::lang::dmi::ClazzInfo* PipedWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "PipedWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _PipedWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     PipedWriter_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_PipedWriter_DmiProxy(PipedWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class PrintWriter_DmiProxy
: extends PrintWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(PrintWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  PrintWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, PrintWriter)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new PrintWriter_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); }
  PrintWriter_DmiProxy(IN(::acdk::io::RWriter) out, IN(::acdk::locale::REncoder) encoder, IN(::acdk::lang::RObject) lock)
  : PrintWriter(out, encoder, lock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  PrintWriter_DmiProxy(IN(::acdk::io::RWriter) out)
  : PrintWriter(out)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  PrintWriter_DmiProxy()
  : PrintWriter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  PrintWriter_DmiProxy(IN(::acdk::io::RWriter) out, IN(::acdk::locale::REncoder) encoder)
  : PrintWriter(out, encoder)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  PrintWriter_DmiProxy(IN(::acdk::io::RCharWriter) out)
  : PrintWriter(out)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void print(bool c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[19]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::print(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("print", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void print(char c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[20]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::print(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("print", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void print(ucchar c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[21]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::print(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("print", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void print(byte c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[22]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::print(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("print", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void print(short c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[23]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::print(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("print", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void print(int c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[24]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::print(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("print", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void print(jlong c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[25]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::print(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("print", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void print(float c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[26]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::print(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("print", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void print(double c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[27]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::print(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("print", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void print(IN(::acdk::lang::RObject) c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[28]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::print(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("print", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void print(IN(::acdk::lang::RString) str)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[29]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::print(str);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("print", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void printQuoted(IN(::acdk::lang::RString) str)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[30]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::printQuoted(str);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("printQuoted", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void println()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[31]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::println();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("println", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void println(bool c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[32]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::println(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("println", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void println(char c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[33]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::println(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("println", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void println(ucchar c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[34]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::println(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("println", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void println(byte c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[35]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::println(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("println", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void println(short c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[36]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::println(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("println", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void println(IN(::acdk::lang::RString) str)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[37]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::println(str);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("println", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void println(double c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[38]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::println(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("println", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void println(IN(::acdk::lang::RObject) c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[39]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::println(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("println", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void println(int c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[40]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::println(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("println", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void println(jlong c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[41]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::println(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("println", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void println(float c)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::clazzInfo()->methods[42]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::println(c);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(c);
    _dmiProxyGetTarget()->standardDispatch("println", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterWriter)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PrintWriter)::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::, PrintWriter)::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::, PrintWriter)::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::, PrintWriter)::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::, PrintWriter)::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::, PrintWriter)::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::, PrintWriter)::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::, PrintWriter)::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::, PrintWriter)::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::, PrintWriter)::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::, PrintWriter)::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::, PrintWriter)::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::, PrintWriter)::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*
  _PrintWriter_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 PrintWriter_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*
  _PrintWriter_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 PrintWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _PrintWriter_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 PrintWriter_DmiProxy();
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _PrintWriter_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 PrintWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar(), (::acdk::locale::REncoder)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _PrintWriter_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 PrintWriter_DmiProxy((::acdk::io::RCharWriter)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _PrintWriter_DmiProxy_interfaces[] =
{
  &PrintWriter_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo PrintWriter_DmiProxy_methods__PrintWriter_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 PrintWriter_DmiProxy_methods__PrintWriter_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 PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_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* PrintWriter_methods__PrintWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_args[] = 
{
  &PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_out,
  &PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_encoder,
  &PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_arg_lock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo PrintWriter_DmiProxy_methods__PrintWriter_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
  "PrintWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PrintWriter::clazzInfo(), // returnType
  "_2_PrintWriter_DmiProxy", // altname
  -1, // altnamehashCode
  PrintWriter_methods__PrintWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  PrintWriter_DmiProxy::_PrintWriter_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 PrintWriter_DmiProxy_methods__PrintWriter_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* PrintWriter_methods__PrintWriter_in_acdk_io_Writer_args[] = 
{
  &PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_Writer_arg_out,
  0
};

::acdk::lang::dmi::ClazzMethodInfo PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_Writer = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "PrintWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PrintWriter::clazzInfo(), // returnType
  "_3_PrintWriter_DmiProxy", // altname
  -1, // altnamehashCode
  PrintWriter_methods__PrintWriter_in_acdk_io_Writer_args,
  0, // argumentCount
  0, // excpetions,
  PrintWriter_DmiProxy::_PrintWriter_in_acdk_io_Writer_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodInfo PrintWriter_DmiProxy_methods__PrintWriter = 
{
  ::acdk::lang::dmi::MiProtected | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "PrintWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PrintWriter::clazzInfo(), // returnType
  "_0_PrintWriter_DmiProxy", // altname
  -1, // altnamehashCode
  PrintWriter_methods__PrintWriter_args,
  0, // argumentCount
  0, // excpetions,
  PrintWriter_DmiProxy::_PrintWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo PrintWriter_DmiProxy_methods__PrintWriter_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 PrintWriter_DmiProxy_methods__PrintWriter_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* PrintWriter_methods__PrintWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_args[] = 
{
  &PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_arg_out,
  &PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_arg_encoder,
  0
};

::acdk::lang::dmi::ClazzMethodInfo PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_Writer_in_acdk_locale_Encoder = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "PrintWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PrintWriter::clazzInfo(), // returnType
  "_4_PrintWriter_DmiProxy", // altname
  -1, // altnamehashCode
  PrintWriter_methods__PrintWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_args,
  0, // argumentCount
  0, // excpetions,
  PrintWriter_DmiProxy::_PrintWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo PrintWriter_DmiProxy_methods__PrintWriter_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* PrintWriter_methods__PrintWriter_in_acdk_io_CharWriter_args[] = 
{
  &PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_CharWriter_arg_out,
  0
};

::acdk::lang::dmi::ClazzMethodInfo PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_CharWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "PrintWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PrintWriter::clazzInfo(), // returnType
  "_5_PrintWriter_DmiProxy", // altname
  -1, // altnamehashCode
  PrintWriter_methods__PrintWriter_in_acdk_io_CharWriter_args,
  0, // argumentCount
  0, // excpetions,
  PrintWriter_DmiProxy::_PrintWriter_in_acdk_io_CharWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* PrintWriter_methods[] = 
{
  &PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_Writer_in_acdk_locale_Encoder_in_acdk_lang_Object,
  &PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_Writer,
  &PrintWriter_DmiProxy_methods__PrintWriter,
  &PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_Writer_in_acdk_locale_Encoder,
  &PrintWriter_DmiProxy_methods__PrintWriter_in_acdk_io_CharWriter,
  0
};

::acdk::lang::dmi::ClazzInfo* PrintWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "PrintWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _PrintWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     PrintWriter_methods, // pointer to Array of Methods
     0, // count of Methods
     PrintWriter_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_PrintWriter_DmiProxy(PrintWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class PushbackCharReader_DmiProxy
: extends ::acdk::lang::Object
, implements PushbackCharReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(PushbackCharReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  PushbackCharReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, PushbackCharReader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new PushbackCharReader_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); }
  PushbackCharReader_DmiProxy()
  : PushbackCharReader()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void resetPushbackBuffer()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("resetPushbackBuffer", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unread(ucchar ch)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    _dmiProxyGetTarget()->standardDispatch("unread", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unread(IN(::acdk::lang::RString) str)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PushbackCharReader)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PushbackCharReader)::unread(str);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("unread", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  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::, PushbackCharReader)::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*
  _PushbackCharReader_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 PushbackCharReader_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _PushbackCharReader_DmiProxy_interfaces[] =
{
  &PushbackCharReader_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo PushbackCharReader_DmiProxy_methods__PushbackCharReader = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "PushbackCharReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PushbackCharReader::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  PushbackCharReader_methods__PushbackCharReader_args,
  0, // argumentCount
  0, // excpetions,
  PushbackCharReader_DmiProxy::_PushbackCharReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* PushbackCharReader_methods[] = 
{
  &PushbackCharReader_DmiProxy_methods__PushbackCharReader,
  0
};

::acdk::lang::dmi::ClazzInfo* PushbackCharReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "PushbackCharReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _PushbackCharReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     PushbackCharReader_methods, // pointer to Array of Methods
     0, // count of Methods
     PushbackCharReader_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_PushbackCharReader_DmiProxy(PushbackCharReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class PushbackCharReaderImpl_DmiProxy
: extends PushbackCharReaderImpl
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(PushbackCharReaderImpl)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  PushbackCharReaderImpl::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, PushbackCharReaderImpl)::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); }
  PushbackCharReaderImpl_DmiProxy(IN(::acdk::io::RCharReader) in, int buffsize, IN(::acdk::lang::RObject) iolock)
  : PushbackCharReaderImpl(in, buffsize, iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  PushbackCharReaderImpl_DmiProxy(IN(::acdk::io::RCharReader) in)
  : PushbackCharReaderImpl(in)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  PushbackCharReaderImpl_DmiProxy(IN(::acdk::io::RCharReader) in, int buffsize)
  : PushbackCharReaderImpl(in, buffsize)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void resetPushbackBuffer()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PushbackCharReaderImpl)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PushbackCharReaderImpl)::resetPushbackBuffer();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("resetPushbackBuffer", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unread(ucchar ch)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PushbackCharReaderImpl)::clazzInfo()->methods[5]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PushbackCharReaderImpl)::unread(ch);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    _dmiProxyGetTarget()->standardDispatch("unread", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unread(IN(::acdk::lang::RString) str)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PushbackCharReaderImpl)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PushbackCharReaderImpl)::unread(str);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(str);
    _dmiProxyGetTarget()->standardDispatch("unread", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void close()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractCharFilterReader)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PushbackCharReaderImpl)::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::, PushbackCharReaderImpl)::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::, PushbackCharReaderImpl)::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::, PushbackCharReaderImpl)::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::, PushbackCharReaderImpl)::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::, PushbackCharReaderImpl)::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::, PushbackCharReaderImpl)::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::, PushbackCharReaderImpl)::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::, PushbackCharReaderImpl)::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::, PushbackCharReaderImpl)::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::, PushbackCharReaderImpl)::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*
  _PushbackCharReaderImpl_in_acdk_io_CharReader_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 PushbackCharReaderImpl_DmiProxy((::acdk::io::RCharReader)args[0].getObjectVar(), args[1].getIntVar(), (::acdk::lang::RObject)args[2].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _PushbackCharReaderImpl_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 PushbackCharReaderImpl_DmiProxy((::acdk::io::RCharReader)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _PushbackCharReaderImpl_in_acdk_io_CharReader_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 PushbackCharReaderImpl_DmiProxy((::acdk::io::RCharReader)args[0].getObjectVar(), args[1].getIntVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _PushbackCharReaderImpl_DmiProxy_interfaces[] =
{
  &PushbackCharReaderImpl_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I_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 PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I_in_acdk_lang_Object_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 PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_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* PushbackCharReaderImpl_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I_in_acdk_lang_Object_args[] = 
{
  &PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I_in_acdk_lang_Object_arg_in,
  &PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I_in_acdk_lang_Object_arg_buffsize,
  &PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "PushbackCharReaderImpl_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PushbackCharReaderImpl::clazzInfo(), // returnType
  "_0_PushbackCharReaderImpl_DmiProxy", // altname
  -1, // altnamehashCode
  PushbackCharReaderImpl_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  PushbackCharReaderImpl_DmiProxy::_PushbackCharReaderImpl_in_acdk_io_CharReader_I_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_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* PushbackCharReaderImpl_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_args[] = 
{
  &PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_arg_in,
  0
};

::acdk::lang::dmi::ClazzMethodInfo PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "PushbackCharReaderImpl_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PushbackCharReaderImpl::clazzInfo(), // returnType
  "_1_PushbackCharReaderImpl_DmiProxy", // altname
  -1, // altnamehashCode
  PushbackCharReaderImpl_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_args,
  0, // argumentCount
  0, // excpetions,
  PushbackCharReaderImpl_DmiProxy::_PushbackCharReaderImpl_in_acdk_io_CharReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I_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 PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_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* PushbackCharReaderImpl_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I_args[] = 
{
  &PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I_arg_in,
  &PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I_arg_buffsize,
  0
};

::acdk::lang::dmi::ClazzMethodInfo PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "PushbackCharReaderImpl_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PushbackCharReaderImpl::clazzInfo(), // returnType
  "_2_PushbackCharReaderImpl_DmiProxy", // altname
  -1, // altnamehashCode
  PushbackCharReaderImpl_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I_args,
  0, // argumentCount
  0, // excpetions,
  PushbackCharReaderImpl_DmiProxy::_PushbackCharReaderImpl_in_acdk_io_CharReader_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* PushbackCharReaderImpl_methods[] = 
{
  &PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I_in_acdk_lang_Object,
  &PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader,
  &PushbackCharReaderImpl_DmiProxy_methods__PushbackCharReaderImpl_in_acdk_io_CharReader_I,
  0
};

::acdk::lang::dmi::ClazzInfo* PushbackCharReaderImpl_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "PushbackCharReaderImpl_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _PushbackCharReaderImpl_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     PushbackCharReaderImpl_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_PushbackCharReaderImpl_DmiProxy(PushbackCharReaderImpl_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class PushbackReader_DmiProxy
: extends PushbackReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(PushbackReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  PushbackReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, PushbackReader)::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); }
  PushbackReader_DmiProxy(IN(::acdk::io::RReader) in, int buffsize)
  : PushbackReader(in, buffsize)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  PushbackReader_DmiProxy(IN(::acdk::io::RReader) in)
  : PushbackReader(in)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void unread(int b)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PushbackReader)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PushbackReader)::unread(b);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(b);
    _dmiProxyGetTarget()->standardDispatch("unread", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void unread(IN(RbyteArray) ch)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PushbackReader)::clazzInfo()->methods[4]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PushbackReader)::unread(ch);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    _dmiProxyGetTarget()->standardDispatch("unread", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, AbstractFilterReader)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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::, PushbackReader)::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*
  _PushbackReader_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 PushbackReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar(), args[1].getIntVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _PushbackReader_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 PushbackReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _PushbackReader_DmiProxy_interfaces[] =
{
  &PushbackReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo PushbackReader_DmiProxy_methods__PushbackReader_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 PushbackReader_DmiProxy_methods__PushbackReader_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* PushbackReader_methods__PushbackReader_in_acdk_io_Reader_I_args[] = 
{
  &PushbackReader_DmiProxy_methods__PushbackReader_in_acdk_io_Reader_I_arg_in,
  &PushbackReader_DmiProxy_methods__PushbackReader_in_acdk_io_Reader_I_arg_buffsize,
  0
};

::acdk::lang::dmi::ClazzMethodInfo PushbackReader_DmiProxy_methods__PushbackReader_in_acdk_io_Reader_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "PushbackReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PushbackReader::clazzInfo(), // returnType
  "_0_PushbackReader_DmiProxy", // altname
  -1, // altnamehashCode
  PushbackReader_methods__PushbackReader_in_acdk_io_Reader_I_args,
  0, // argumentCount
  0, // excpetions,
  PushbackReader_DmiProxy::_PushbackReader_in_acdk_io_Reader_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodArgInfo PushbackReader_DmiProxy_methods__PushbackReader_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* PushbackReader_methods__PushbackReader_in_acdk_io_Reader_args[] = 
{
  &PushbackReader_DmiProxy_methods__PushbackReader_in_acdk_io_Reader_arg_in,
  0
};

::acdk::lang::dmi::ClazzMethodInfo PushbackReader_DmiProxy_methods__PushbackReader_in_acdk_io_Reader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "PushbackReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  PushbackReader::clazzInfo(), // returnType
  "_1_PushbackReader_DmiProxy", // altname
  -1, // altnamehashCode
  PushbackReader_methods__PushbackReader_in_acdk_io_Reader_args,
  0, // argumentCount
  0, // excpetions,
  PushbackReader_DmiProxy::_PushbackReader_in_acdk_io_Reader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* PushbackReader_methods[] = 
{
  &PushbackReader_DmiProxy_methods__PushbackReader_in_acdk_io_Reader_I,
  &PushbackReader_DmiProxy_methods__PushbackReader_in_acdk_io_Reader,
  0
};

::acdk::lang::dmi::ClazzInfo* PushbackReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "PushbackReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _PushbackReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     PushbackReader_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_PushbackReader_DmiProxy(PushbackReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class RandomAccessFile_DmiProxy
: extends RandomAccessFile
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(RandomAccessFile)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  RandomAccessFile::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, RandomAccessFile)::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); }
  RandomAccessFile_DmiProxy(IN(::acdk::io::RFile) file, IN(::acdk::lang::RString) mode, IN(::acdk::io::RDataReader) dataReader, IN(::acdk::io::RDataWriter) dataWriter)
  : RandomAccessFile(file, mode, dataReader, dataWriter)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  RandomAccessFile_DmiProxy(IN(::acdk::io::RFile) file, IN(::acdk::lang::RString) mode)
  : RandomAccessFile(file, mode)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  RandomAccessFile_DmiProxy(IN(::acdk::io::RFile) file, IN(::acdk::lang::RString) mode, IN(::acdk::io::RDataReader) dataReader)
  : RandomAccessFile(file, mode, dataReader)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  RandomAccessFile_DmiProxy(IN(::acdk::lang::RString) name, IN(::acdk::lang::RString) mode, IN(::acdk::io::RDataReader) dataReader, IN(::acdk::io::RDataWriter) dataWriter)
  : RandomAccessFile(name, mode, dataReader, dataWriter)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  RandomAccessFile_DmiProxy(IN(::acdk::lang::RString) name, IN(::acdk::lang::RString) mode)
  : RandomAccessFile(name, mode)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  RandomAccessFile_DmiProxy(IN(::acdk::lang::RString) name, IN(::acdk::lang::RString) mode, IN(::acdk::io::RDataReader) dataReader)
  : RandomAccessFile(name, mode, dataReader)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::io::RFileDescriptor getFD()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::getFD();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getFD", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFileDescriptor)(::acdk::lang::RObject)__acdk_retval;
  }
  jlong getFilePointer()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::getFilePointer();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getFilePointer", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong length()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::length();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("length", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void setLength(jlong newLength)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::clazzInfo()->methods[10]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::setLength(newLength);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(newLength);
    _dmiProxyGetTarget()->standardDispatch("setLength", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  int skipBytes(int n)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::clazzInfo()->methods[11]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::skipBytes(n);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(n);
    _dmiProxyGetTarget()->standardDispatch("skipBytes", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __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::, RandomAccessFile)::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::, RandomAccessFile)::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::, RandomAccessFile)::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::, RandomAccessFile)::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::, RandomAccessFile)::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::, RandomAccessFile)::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::, RandomAccessFile)::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;
  }
  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;
  }
  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;
  }
  RbyteArray readOpaque()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, DataReader)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::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()
  {
    ::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()
  {
    ::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;
  }
  ::acdk::io::RStorage 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()
  {
    ::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)
  {
    ::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);
  }
  int available()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[1]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::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::, RandomAccessFile)::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::, RandomAccessFile)::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::, RandomAccessFile)::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::, RandomAccessFile)::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::, Reader)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::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::, Reader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::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;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RandomAccessFile)::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);
  }
  jlong seek(SeekPos seekrel, jlong 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)
  {
    ::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 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 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::, RandomAccessFile)::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 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);
  }
  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);
  }
  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 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)
  {
    ::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)
  {
    ::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 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::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::, RandomAccessFile)::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::, RandomAccessFile)::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;
  }
  ::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*
  _RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_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 RandomAccessFile_DmiProxy((::acdk::io::RFile)args[0].getObjectVar(), (::acdk::lang::RString)args[1].getObjectVar(), (::acdk::io::RDataReader)args[2].getObjectVar(), (::acdk::io::RDataWriter)args[3].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_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 RandomAccessFile_DmiProxy((::acdk::io::RFile)args[0].getObjectVar(), (::acdk::lang::RString)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_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 RandomAccessFile_DmiProxy((::acdk::io::RFile)args[0].getObjectVar(), (::acdk::lang::RString)args[1].getObjectVar(), (::acdk::io::RDataReader)args[2].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_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 RandomAccessFile_DmiProxy((::acdk::lang::RString)args[0].getObjectVar(), (::acdk::lang::RString)args[1].getObjectVar(), (::acdk::io::RDataReader)args[2].getObjectVar(), (::acdk::io::RDataWriter)args[3].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_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 RandomAccessFile_DmiProxy((::acdk::lang::RString)args[0].getObjectVar(), (::acdk::lang::RString)args[1].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_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 RandomAccessFile_DmiProxy((::acdk::lang::RString)args[0].getObjectVar(), (::acdk::lang::RString)args[1].getObjectVar(), (::acdk::io::RDataReader)args[2].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _RandomAccessFile_DmiProxy_interfaces[] =
{
  &RandomAccessFile_DmiProxy_super,
  0
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_arg_dataReader =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "dataReader",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::DataReader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_arg_dataWriter =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "dataWriter",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::DataWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* RandomAccessFile_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_args[] = 
{
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_arg_file,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_arg_mode,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_arg_dataReader,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_arg_dataWriter,
  0
};

::acdk::lang::dmi::ClazzMethodInfo RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "RandomAccessFile_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  RandomAccessFile::clazzInfo(), // returnType
  "_0_RandomAccessFile_DmiProxy", // altname
  -1, // altnamehashCode
  RandomAccessFile_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_args,
  0, // argumentCount
  0, // excpetions,
  RandomAccessFile_DmiProxy::_RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo* RandomAccessFile_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_args[] = 
{
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_arg_file,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_arg_mode,
  0
};

::acdk::lang::dmi::ClazzMethodInfo RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "RandomAccessFile_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  RandomAccessFile::clazzInfo(), // returnType
  "_1_RandomAccessFile_DmiProxy", // altname
  -1, // altnamehashCode
  RandomAccessFile_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  RandomAccessFile_DmiProxy::_RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_arg_dataReader =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "dataReader",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::DataReader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* RandomAccessFile_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_args[] = 
{
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_arg_file,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_arg_mode,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_arg_dataReader,
  0
};

::acdk::lang::dmi::ClazzMethodInfo RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "RandomAccessFile_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  RandomAccessFile::clazzInfo(), // returnType
  "_2_RandomAccessFile_DmiProxy", // altname
  -1, // altnamehashCode
  RandomAccessFile_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_args,
  0, // argumentCount
  0, // excpetions,
  RandomAccessFile_DmiProxy::_RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_arg_dataReader =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "dataReader",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::DataReader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_arg_dataWriter =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "dataWriter",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::DataWriter::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* RandomAccessFile_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_args[] = 
{
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_arg_name,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_arg_mode,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_arg_dataReader,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_arg_dataWriter,
  0
};

::acdk::lang::dmi::ClazzMethodInfo RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "RandomAccessFile_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  RandomAccessFile::clazzInfo(), // returnType
  "_3_RandomAccessFile_DmiProxy", // altname
  -1, // altnamehashCode
  RandomAccessFile_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_args,
  0, // argumentCount
  0, // excpetions,
  RandomAccessFile_DmiProxy::_RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo* RandomAccessFile_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_args[] = 
{
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_arg_name,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_arg_mode,
  0
};

::acdk::lang::dmi::ClazzMethodInfo RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "RandomAccessFile_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  RandomAccessFile::clazzInfo(), // returnType
  "_4_RandomAccessFile_DmiProxy", // altname
  -1, // altnamehashCode
  RandomAccessFile_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  RandomAccessFile_DmiProxy::_RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_arg_dataReader =
{
  ::acdk::lang::dmi::MiMethodArgInfo | ::acdk::lang::dmi::MiAiIn | ::acdk::lang::dmi::MiAiHasDefaultInit,
  0, //AttributesRes
  "dataReader",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::io::DataReader::clazzInfo()
};

::acdk::lang::dmi::ClazzMethodArgInfo* RandomAccessFile_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_args[] = 
{
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_arg_name,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_arg_mode,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_arg_dataReader,
  0
};

::acdk::lang::dmi::ClazzMethodInfo RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "RandomAccessFile_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  RandomAccessFile::clazzInfo(), // returnType
  "_5_RandomAccessFile_DmiProxy", // altname
  -1, // altnamehashCode
  RandomAccessFile_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_args,
  0, // argumentCount
  0, // excpetions,
  RandomAccessFile_DmiProxy::_RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* RandomAccessFile_methods[] = 
{
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_io_File_in_acdk_lang_String_in_acdk_io_DataReader,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader_in_acdk_io_DataWriter,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String,
  &RandomAccessFile_DmiProxy_methods__RandomAccessFile_in_acdk_lang_String_in_acdk_lang_String_in_acdk_io_DataReader,
  0
};

::acdk::lang::dmi::ClazzInfo* RandomAccessFile_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "RandomAccessFile_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _RandomAccessFile_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     RandomAccessFile_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_RandomAccessFile_DmiProxy(RandomAccessFile_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class Reader_DmiProxy
: extends ::acdk::lang::Object
, implements Reader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(Reader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  Reader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, Reader)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new Reader_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); }
  Reader_DmiProxy()
  : Reader()
  {
     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::, Reader)::clazzInfo()->methods[1]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::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::, Reader)::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::, Reader)::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::, Reader)::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::, Reader)::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::, Reader)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::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::, Reader)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::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;
  }
  bool ready()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::clazzInfo()->methods[14]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Reader)::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);
  }
  jlong seek(SeekPos seekrel, jlong 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)
  {
    ::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;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _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 Reader_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _Reader_DmiProxy_interfaces[] =
{
  &Reader_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo Reader_DmiProxy_methods__Reader = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "Reader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  Reader::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  Reader_methods__Reader_args,
  0, // argumentCount
  0, // excpetions,
  Reader_DmiProxy::_Reader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* Reader_methods[] = 
{
  &Reader_DmiProxy_methods__Reader,
  0
};

::acdk::lang::dmi::ClazzInfo* Reader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "Reader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _Reader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     Reader_methods, // pointer to Array of Methods
     0, // count of Methods
     Reader_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_Reader_DmiProxy(Reader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class RessourceFileImpl_DmiProxy
: extends RessourceFileImpl
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(RessourceFileImpl)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  RessourceFileImpl::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, RessourceFileImpl)::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); }
  RessourceFileImpl_DmiProxy(IN(::acdk::io::RRessourceFileSystem) fs, IN(::acdk::io::RRessourceFile) fh)
  : RessourceFileImpl(fs, fh)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::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::, RessourceFileImpl)::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::, RessourceFileImpl)::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::, RessourceFileImpl)::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::, RessourceFileImpl)::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::, RessourceFileImpl)::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::, RessourceFileImpl)::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::, RessourceFileImpl)::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;
  }
  bool canRead()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("canRead", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool canWrite()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("canWrite", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool createNewFile()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("createNewFile", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool deleteFile()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("deleteFile", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool exists()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("exists", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong fileCreated()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("fileCreated", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString getAbsolutePath()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getAbsolutePath", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getCanonicalPath()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getCanonicalPath", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFileInfo getFileInfo()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RessourceFileImpl)::getFileInfo();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getFileInfo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFileInfo)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFileSystem getFileSystem()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getFileSystem", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFileSystem)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getName()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFile getParentFile()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getParentFile", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFile)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getPath()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getPath", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RReader getReader()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getReader", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RReader)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RWriter getWriter()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getWriter", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RWriter)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isAbsolute()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isAbsolute", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isDirectory()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isDirectory", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isFile()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isFile", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isHidden()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isHidden", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong lastModified()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lastModified", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  jlong length()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("length", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RStringArray list(IN(::acdk::io::RFilenameFilter) filter, int listFlags)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::clazzInfo()->methods[22]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RessourceFileImpl)::list(filter, listFlags);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(filter);
    __acdk_args[1] = ::acdk::lang::inOf(listFlags);
    _dmiProxyGetTarget()->standardDispatch("list", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RStringArray)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFileArray listFiles(IN(::acdk::io::RFileFilter) filter, int listFlags)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::clazzInfo()->methods[25]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RessourceFileImpl)::listFiles(filter, listFlags);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(filter);
    __acdk_args[1] = ::acdk::lang::inOf(listFlags);
    _dmiProxyGetTarget()->standardDispatch("listFiles", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFileArray)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFile makeChild(IN(::acdk::lang::RString) subfile)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(subfile);
    _dmiProxyGetTarget()->standardDispatch("makeChild", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFile)(::acdk::lang::RObject)__acdk_retval;
  }
  bool mkdir(int mode)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(mode);
    _dmiProxyGetTarget()->standardDispatch("mkdir", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool renameTo(IN(::acdk::io::RFile) dest)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(dest);
    _dmiProxyGetTarget()->standardDispatch("renameTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool setFileAttributes(int mask, int flags)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::clazzInfo()->methods[32]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RessourceFileImpl)::setFileAttributes(mask, flags);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(mask);
    __acdk_args[1] = ::acdk::lang::inOf(flags);
    _dmiProxyGetTarget()->standardDispatch("setFileAttributes", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool setFileCreated(jlong time)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::clazzInfo()->methods[33]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RessourceFileImpl)::setFileCreated(time);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(time);
    _dmiProxyGetTarget()->standardDispatch("setFileCreated", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool setFileFlags(int flags)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, FileImpl)::clazzInfo()->methods[34]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RessourceFileImpl)::setFileFlags(flags);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(flags);
    _dmiProxyGetTarget()->standardDispatch("setFileFlags", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool setLastModified(jlong time)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(time);
    _dmiProxyGetTarget()->standardDispatch("setLastModified", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _RessourceFileImpl_in_acdk_io_RessourceFileSystem_in_acdk_io_RessourceFile_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 RessourceFileImpl_DmiProxy((::acdk::io::RRessourceFileSystem)args[0].getObjectVar(), (::acdk::io::RRessourceFile)args[1].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _RessourceFileImpl_DmiProxy_interfaces[] =
{
  &RessourceFileImpl_DmiProxy_super,
  0
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo* RessourceFileImpl_methods__RessourceFileImpl_in_acdk_io_RessourceFileSystem_in_acdk_io_RessourceFile_args[] = 
{
  &RessourceFileImpl_DmiProxy_methods__RessourceFileImpl_in_acdk_io_RessourceFileSystem_in_acdk_io_RessourceFile_arg_fs,
  &RessourceFileImpl_DmiProxy_methods__RessourceFileImpl_in_acdk_io_RessourceFileSystem_in_acdk_io_RessourceFile_arg_fh,
  0
};

::acdk::lang::dmi::ClazzMethodInfo RessourceFileImpl_DmiProxy_methods__RessourceFileImpl_in_acdk_io_RessourceFileSystem_in_acdk_io_RessourceFile = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "RessourceFileImpl_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  RessourceFileImpl::clazzInfo(), // returnType
  "_0_RessourceFileImpl_DmiProxy", // altname
  -1, // altnamehashCode
  RessourceFileImpl_methods__RessourceFileImpl_in_acdk_io_RessourceFileSystem_in_acdk_io_RessourceFile_args,
  0, // argumentCount
  0, // excpetions,
  RessourceFileImpl_DmiProxy::_RessourceFileImpl_in_acdk_io_RessourceFileSystem_in_acdk_io_RessourceFile_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* RessourceFileImpl_methods[] = 
{
  &RessourceFileImpl_DmiProxy_methods__RessourceFileImpl_in_acdk_io_RessourceFileSystem_in_acdk_io_RessourceFile,
  0
};

::acdk::lang::dmi::ClazzInfo* RessourceFileImpl_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "RessourceFileImpl_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _RessourceFileImpl_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     RessourceFileImpl_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_RessourceFileImpl_DmiProxy(RessourceFileImpl_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class RessourceFile_DmiProxy
: extends RessourceFile
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(RessourceFile)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  RessourceFile::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, RessourceFile)::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); }
  RessourceFile_DmiProxy(IN(::acdk::io::RRessourceDir) pdir, IN(::acdk::lang::RString) fname, IN(RbyteArray) cont)
  : RessourceFile(pdir, fname, cont)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  RessourceFile_DmiProxy(IN(::acdk::io::RRessourceDir) pdir, IN(::acdk::lang::RString) fname)
  : RessourceFile(pdir, fname)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::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::, RessourceFile)::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::, RessourceFile)::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::, RessourceFile)::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::, RessourceFile)::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::, RessourceFile)::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::, RessourceFile)::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::, RessourceFile)::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*
  _RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_in_BArray_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 RessourceFile_DmiProxy((::acdk::io::RRessourceDir)args[0].getObjectVar(), (::acdk::lang::RString)args[1].getObjectVar(), (RbyteArray)args[2].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_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 RessourceFile_DmiProxy((::acdk::io::RRessourceDir)args[0].getObjectVar(), (::acdk::lang::RString)args[1].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _RessourceFile_DmiProxy_interfaces[] =
{
  &RessourceFile_DmiProxy_super,
  0
};

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

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

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

::acdk::lang::dmi::ClazzMethodArgInfo* RessourceFile_methods__RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_in_BArray_args[] = 
{
  &RessourceFile_DmiProxy_methods__RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_in_BArray_arg_pdir,
  &RessourceFile_DmiProxy_methods__RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_in_BArray_arg_fname,
  &RessourceFile_DmiProxy_methods__RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_in_BArray_arg_cont,
  0
};

::acdk::lang::dmi::ClazzMethodInfo RessourceFile_DmiProxy_methods__RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_in_BArray = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "RessourceFile_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  RessourceFile::clazzInfo(), // returnType
  "_0_RessourceFile_DmiProxy", // altname
  -1, // altnamehashCode
  RessourceFile_methods__RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_in_BArray_args,
  0, // argumentCount
  0, // excpetions,
  RessourceFile_DmiProxy::_RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_in_BArray_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo* RessourceFile_methods__RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_args[] = 
{
  &RessourceFile_DmiProxy_methods__RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_arg_pdir,
  &RessourceFile_DmiProxy_methods__RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_arg_fname,
  0
};

::acdk::lang::dmi::ClazzMethodInfo RessourceFile_DmiProxy_methods__RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "RessourceFile_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  RessourceFile::clazzInfo(), // returnType
  "_1_RessourceFile_DmiProxy", // altname
  -1, // altnamehashCode
  RessourceFile_methods__RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  RessourceFile_DmiProxy::_RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* RessourceFile_methods[] = 
{
  &RessourceFile_DmiProxy_methods__RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String_in_BArray,
  &RessourceFile_DmiProxy_methods__RessourceFile_in_acdk_io_RessourceDir_in_acdk_lang_String,
  0
};

::acdk::lang::dmi::ClazzInfo* RessourceFile_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "RessourceFile_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _RessourceFile_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     RessourceFile_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_RessourceFile_DmiProxy(RessourceFile_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class RessourceDir_DmiProxy
: extends RessourceDir
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(RessourceDir)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  RessourceDir::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, RessourceDir)::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); }
  RessourceDir_DmiProxy(IN(::acdk::io::RRessourceDir) pdir, IN(::acdk::lang::RString) fname)
  : RessourceDir(pdir, fname)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::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::, RessourceDir)::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::, RessourceDir)::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::, RessourceDir)::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::, RessourceDir)::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::, RessourceDir)::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::, RessourceDir)::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::, RessourceDir)::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*
  _RessourceDir_in_acdk_io_RessourceDir_in_acdk_lang_String_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 RessourceDir_DmiProxy((::acdk::io::RRessourceDir)args[0].getObjectVar(), (::acdk::lang::RString)args[1].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _RessourceDir_DmiProxy_interfaces[] =
{
  &RessourceDir_DmiProxy_super,
  0
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo* RessourceDir_methods__RessourceDir_in_acdk_io_RessourceDir_in_acdk_lang_String_args[] = 
{
  &RessourceDir_DmiProxy_methods__RessourceDir_in_acdk_io_RessourceDir_in_acdk_lang_String_arg_pdir,
  &RessourceDir_DmiProxy_methods__RessourceDir_in_acdk_io_RessourceDir_in_acdk_lang_String_arg_fname,
  0
};

::acdk::lang::dmi::ClazzMethodInfo RessourceDir_DmiProxy_methods__RessourceDir_in_acdk_io_RessourceDir_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "RessourceDir_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  RessourceDir::clazzInfo(), // returnType
  "_0_RessourceDir_DmiProxy", // altname
  -1, // altnamehashCode
  RessourceDir_methods__RessourceDir_in_acdk_io_RessourceDir_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  RessourceDir_DmiProxy::_RessourceDir_in_acdk_io_RessourceDir_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* RessourceDir_methods[] = 
{
  &RessourceDir_DmiProxy_methods__RessourceDir_in_acdk_io_RessourceDir_in_acdk_lang_String,
  0
};

::acdk::lang::dmi::ClazzInfo* RessourceDir_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "RessourceDir_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _RessourceDir_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     RessourceDir_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_RessourceDir_DmiProxy(RessourceDir_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class RessourceFileSystem_DmiProxy
: extends RessourceFileSystem
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(RessourceFileSystem)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  RessourceFileSystem::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, RessourceFileSystem)::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); }
  RessourceFileSystem_DmiProxy()
  : RessourceFileSystem()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::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::, RessourceFileSystem)::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::, RessourceFileSystem)::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::, RessourceFileSystem)::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::, RessourceFileSystem)::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::, RessourceFileSystem)::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::, RessourceFileSystem)::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::, RessourceFileSystem)::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::RFile file(IN(::acdk::lang::RString) path)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(path);
    _dmiProxyGetTarget()->standardDispatch("file", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFile)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFileImpl getFileImpl(IN(::acdk::lang::RString) fqpath)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(fqpath);
    _dmiProxyGetTarget()->standardDispatch("getFileImpl", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFileImpl)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getRootName()
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getRootName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RFileArray listFiles(IN(::acdk::lang::RString) directory, int listflags)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(directory);
    __acdk_args[1] = ::acdk::lang::inOf(listflags);
    _dmiProxyGetTarget()->standardDispatch("listFiles", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFileArray)(::acdk::lang::RObject)__acdk_retval;
  }
  bool ownsFile(IN(::acdk::lang::RString) fname)
  {
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(fname);
    _dmiProxyGetTarget()->standardDispatch("ownsFile", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _RessourceFileSystem_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 RessourceFileSystem_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _RessourceFileSystem_DmiProxy_interfaces[] =
{
  &RessourceFileSystem_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo RessourceFileSystem_DmiProxy_methods__RessourceFileSystem = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "RessourceFileSystem_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  RessourceFileSystem::clazzInfo(), // returnType
  "_0_RessourceFileSystem_DmiProxy", // altname
  -1, // altnamehashCode
  RessourceFileSystem_methods__RessourceFileSystem_args,
  0, // argumentCount
  0, // excpetions,
  RessourceFileSystem_DmiProxy::_RessourceFileSystem_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* RessourceFileSystem_methods[] = 
{
  &RessourceFileSystem_DmiProxy_methods__RessourceFileSystem,
  0
};

::acdk::lang::dmi::ClazzInfo* RessourceFileSystem_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "RessourceFileSystem_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _RessourceFileSystem_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     RessourceFileSystem_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_RessourceFileSystem_DmiProxy(RessourceFileSystem_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class RessourceFileSystemFactory_DmiProxy
: extends RessourceFileSystemFactory
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(RessourceFileSystemFactory)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  RessourceFileSystemFactory::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, RessourceFileSystemFactory)::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); }
  RessourceFileSystemFactory_DmiProxy()
  : RessourceFileSystemFactory()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::io::RFileSystem create(IN(::acdk::lang::RString) file)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RessourceFileSystemFactory)::clazzInfo()->methods[1]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RessourceFileSystemFactory)::create(file);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(file);
    _dmiProxyGetTarget()->standardDispatch("create", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RFileSystem)(::acdk::lang::RObject)__acdk_retval;
  }
  int handleFile(IN(::acdk::lang::RString) file)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RessourceFileSystemFactory)::clazzInfo()->methods[2]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RessourceFileSystemFactory)::handleFile(file);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(file);
    _dmiProxyGetTarget()->standardDispatch("handleFile", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isRootFileSystem()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RessourceFileSystemFactory)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, RessourceFileSystemFactory)::isRootFileSystem();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isRootFileSystem", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __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::, RessourceFileSystemFactory)::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::, RessourceFileSystemFactory)::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::, RessourceFileSystemFactory)::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::, RessourceFileSystemFactory)::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::, RessourceFileSystemFactory)::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::, RessourceFileSystemFactory)::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::, RessourceFileSystemFactory)::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*
  _RessourceFileSystemFactory_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 RessourceFileSystemFactory_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _RessourceFileSystemFactory_DmiProxy_interfaces[] =
{
  &RessourceFileSystemFactory_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo RessourceFileSystemFactory_DmiProxy_methods__RessourceFileSystemFactory = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "RessourceFileSystemFactory_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  RessourceFileSystemFactory::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  RessourceFileSystemFactory_methods__RessourceFileSystemFactory_args,
  0, // argumentCount
  0, // excpetions,
  RessourceFileSystemFactory_DmiProxy::_RessourceFileSystemFactory_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* RessourceFileSystemFactory_methods[] = 
{
  &RessourceFileSystemFactory_DmiProxy_methods__RessourceFileSystemFactory,
  0
};

::acdk::lang::dmi::ClazzInfo* RessourceFileSystemFactory_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "RessourceFileSystemFactory_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _RessourceFileSystemFactory_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     RessourceFileSystemFactory_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_RessourceFileSystemFactory_DmiProxy(RessourceFileSystemFactory_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class SerializedFieldDescriptor_DmiProxy
: extends SerializedFieldDescriptor
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(SerializedFieldDescriptor)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  SerializedFieldDescriptor::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, SerializedFieldDescriptor)::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); }
  SerializedFieldDescriptor_DmiProxy(IN(::acdk::lang::RString) nam, IN(::acdk::lang::RClass) cls, bool unshar)
  : SerializedFieldDescriptor(nam, cls, unshar)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  SerializedFieldDescriptor_DmiProxy(IN(::acdk::lang::RString) nam, IN(::acdk::lang::RClass) cls)
  : SerializedFieldDescriptor(nam, cls)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  int compareTo(IN(::acdk::lang::RObject) obj)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::compareTo(obj);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(obj);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  int compareTo(IN(::acdk::io::RSerializedFieldDescriptor) other)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::compareTo(other);
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(other);
    _dmiProxyGetTarget()->standardDispatch("compareTo", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString getName()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::getName();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RClass getType()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::clazzInfo()->methods[6]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::getType();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getType", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  char getTypeCode()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::getTypeCode();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getTypeCode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  ::acdk::lang::RString getTypeString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::clazzInfo()->methods[8]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::getTypeString();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getTypeString", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  bool isPrimitive()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::clazzInfo()->methods[9]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::isPrimitive();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isPrimitive", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  bool isUnshared()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::clazzInfo()->methods[10]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedFieldDescriptor)::isUnshared();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("isUnshared", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __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::, SerializedFieldDescriptor)::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;
  }
  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::, SerializedFieldDescriptor)::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::, SerializedFieldDescriptor)::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::, SerializedFieldDescriptor)::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::, SerializedFieldDescriptor)::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::, SerializedFieldDescriptor)::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*
  _SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_Z_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 SerializedFieldDescriptor_DmiProxy((::acdk::lang::RString)args[0].getObjectVar(), (::acdk::lang::RClass)args[1].getObjectVar(), args[2].getBoolVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_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 SerializedFieldDescriptor_DmiProxy((::acdk::lang::RString)args[0].getObjectVar(), (::acdk::lang::RClass)args[1].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _SerializedFieldDescriptor_DmiProxy_interfaces[] =
{
  &SerializedFieldDescriptor_DmiProxy_super,
  0
};

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

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

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

::acdk::lang::dmi::ClazzMethodArgInfo* SerializedFieldDescriptor_methods__SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_Z_args[] = 
{
  &SerializedFieldDescriptor_DmiProxy_methods__SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_Z_arg_nam,
  &SerializedFieldDescriptor_DmiProxy_methods__SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_Z_arg_cls,
  &SerializedFieldDescriptor_DmiProxy_methods__SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_Z_arg_unshar,
  0
};

::acdk::lang::dmi::ClazzMethodInfo SerializedFieldDescriptor_DmiProxy_methods__SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_Z = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "SerializedFieldDescriptor_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  SerializedFieldDescriptor::clazzInfo(), // returnType
  "_0_SerializedFieldDescriptor_DmiProxy", // altname
  -1, // altnamehashCode
  SerializedFieldDescriptor_methods__SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_Z_args,
  0, // argumentCount
  0, // excpetions,
  SerializedFieldDescriptor_DmiProxy::_SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_Z_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo* SerializedFieldDescriptor_methods__SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_args[] = 
{
  &SerializedFieldDescriptor_DmiProxy_methods__SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_arg_nam,
  &SerializedFieldDescriptor_DmiProxy_methods__SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_arg_cls,
  0
};

::acdk::lang::dmi::ClazzMethodInfo SerializedFieldDescriptor_DmiProxy_methods__SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "SerializedFieldDescriptor_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  SerializedFieldDescriptor::clazzInfo(), // returnType
  "_1_SerializedFieldDescriptor_DmiProxy", // altname
  -1, // altnamehashCode
  SerializedFieldDescriptor_methods__SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_args,
  0, // argumentCount
  0, // excpetions,
  SerializedFieldDescriptor_DmiProxy::_SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* SerializedFieldDescriptor_methods[] = 
{
  &SerializedFieldDescriptor_DmiProxy_methods__SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class_Z,
  &SerializedFieldDescriptor_DmiProxy_methods__SerializedFieldDescriptor_in_acdk_lang_String_in_acdk_lang_Class,
  0
};

::acdk::lang::dmi::ClazzInfo* SerializedFieldDescriptor_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "SerializedFieldDescriptor_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _SerializedFieldDescriptor_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     SerializedFieldDescriptor_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_SerializedFieldDescriptor_DmiProxy(SerializedFieldDescriptor_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class SerializedObjectDescriptor_DmiProxy
: extends SerializedObjectDescriptor
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(SerializedObjectDescriptor)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  SerializedObjectDescriptor::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, SerializedObjectDescriptor)::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); }
  SerializedObjectDescriptor_DmiProxy(IN(::acdk::lang::RClass) cls)
  : SerializedObjectDescriptor(cls)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::acdk::lang::RClass forClass()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedObjectDescriptor)::clazzInfo()->methods[2]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedObjectDescriptor)::forClass();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("forClass", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RClass)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::io::RSerializedFieldDescriptorArray getFields()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedObjectDescriptor)::clazzInfo()->methods[3]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedObjectDescriptor)::getFields();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getFields", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::io::RSerializedFieldDescriptorArray)(::acdk::lang::RObject)__acdk_retval;
  }
  ::acdk::lang::RString getName()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedObjectDescriptor)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedObjectDescriptor)::getName();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getName", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return (::acdk::lang::RString)(::acdk::lang::RObject)__acdk_retval;
  }
  jlong getSerialVersionUID()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedObjectDescriptor)::clazzInfo()->methods[5]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedObjectDescriptor)::getSerialVersionUID();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("getSerialVersionUID", __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::io::, SerializedObjectDescriptor)::clazzInfo()->methods[7]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, SerializedObjectDescriptor)::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::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::, SerializedObjectDescriptor)::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::, SerializedObjectDescriptor)::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::, SerializedObjectDescriptor)::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::, SerializedObjectDescriptor)::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::, SerializedObjectDescriptor)::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::, SerializedObjectDescriptor)::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;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _SerializedObjectDescriptor_in_acdk_lang_Class_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 SerializedObjectDescriptor_DmiProxy((::acdk::lang::RClass)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _SerializedObjectDescriptor_DmiProxy_interfaces[] =
{
  &SerializedObjectDescriptor_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* SerializedObjectDescriptor_methods__SerializedObjectDescriptor_in_acdk_lang_Class_args[] = 
{
  &SerializedObjectDescriptor_DmiProxy_methods__SerializedObjectDescriptor_in_acdk_lang_Class_arg_cls,
  0
};

::acdk::lang::dmi::ClazzMethodInfo SerializedObjectDescriptor_DmiProxy_methods__SerializedObjectDescriptor_in_acdk_lang_Class = 
{
  ::acdk::lang::dmi::MiProtected | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "SerializedObjectDescriptor_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  SerializedObjectDescriptor::clazzInfo(), // returnType
  "_0_SerializedObjectDescriptor_DmiProxy", // altname
  -1, // altnamehashCode
  SerializedObjectDescriptor_methods__SerializedObjectDescriptor_in_acdk_lang_Class_args,
  0, // argumentCount
  0, // excpetions,
  SerializedObjectDescriptor_DmiProxy::_SerializedObjectDescriptor_in_acdk_lang_Class_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* SerializedObjectDescriptor_methods[] = 
{
  &SerializedObjectDescriptor_DmiProxy_methods__SerializedObjectDescriptor_in_acdk_lang_Class,
  0
};

::acdk::lang::dmi::ClazzInfo* SerializedObjectDescriptor_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "SerializedObjectDescriptor_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _SerializedObjectDescriptor_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     SerializedObjectDescriptor_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_SerializedObjectDescriptor_DmiProxy(SerializedObjectDescriptor_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class Storage_DmiProxy
: extends ::acdk::lang::Object
, implements Storage
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(Storage)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  Storage::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, Storage)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new Storage_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); }
  Storage_DmiProxy()
  : Storage()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::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*
  _Storage_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 Storage_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _Storage_DmiProxy_interfaces[] =
{
  &Storage_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo Storage_DmiProxy_methods__Storage = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "Storage_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  Storage::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  Storage_methods__Storage_args,
  0, // argumentCount
  0, // excpetions,
  Storage_DmiProxy::_Storage_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* Storage_methods[] = 
{
  &Storage_DmiProxy_methods__Storage,
  0
};

::acdk::lang::dmi::ClazzInfo* Storage_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "Storage_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _Storage_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     Storage_methods, // pointer to Array of Methods
     0, // count of Methods
     Storage_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_Storage_DmiProxy(Storage_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class StreamTokenizer_DmiProxy
: extends StreamTokenizer
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(StreamTokenizer)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  StreamTokenizer::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, StreamTokenizer)::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); }
  StreamTokenizer_DmiProxy(IN(::acdk::io::RCharReader) reader)
  : StreamTokenizer(reader)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  void commentChar(int ch)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[11]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::commentChar(ch);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    _dmiProxyGetTarget()->standardDispatch("commentChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void eolIsSignificant(bool flag)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[13]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::eolIsSignificant(flag);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(flag);
    _dmiProxyGetTarget()->standardDispatch("eolIsSignificant", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RString getDeviceName()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[16]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::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;
  }
  int lineno()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[20]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::lineno();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("lineno", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void lowerCaseMode(bool fl)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[21]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::lowerCaseMode(fl);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(fl);
    _dmiProxyGetTarget()->standardDispatch("lowerCaseMode", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  int nextToken()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[23]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::nextToken();
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("nextToken", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
    return __acdk_retval;
  }
  void ordinaryChar(int ch)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[24]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::ordinaryChar(ch);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    _dmiProxyGetTarget()->standardDispatch("ordinaryChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void ordinaryChars(int low, int hi)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[25]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::ordinaryChars(low, hi);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(low);
    __acdk_args[1] = ::acdk::lang::inOf(hi);
    _dmiProxyGetTarget()->standardDispatch("ordinaryChars", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void parseNumbers()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[28]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::parseNumbers();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("parseNumbers", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void pushBack()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[29]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::pushBack();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("pushBack", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void quoteChar(int ch)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[31]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::quoteChar(ch);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(1);
    __acdk_args[0] = ::acdk::lang::inOf(ch);
    _dmiProxyGetTarget()->standardDispatch("quoteChar", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void resetSyntax()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[39]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::resetSyntax();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("resetSyntax", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void skipLine()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[40]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::skipLine();
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(0);
    _dmiProxyGetTarget()->standardDispatch("skipLine", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  ::acdk::lang::RString toString()
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[42]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::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 whitespaceChars(int low, int hi)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[48]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::whitespaceChars(low, hi);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(low);
    __acdk_args[1] = ::acdk::lang::inOf(hi);
    _dmiProxyGetTarget()->standardDispatch("whitespaceChars", __acdk_retval, __acdk_args, _dmiClient, Nil, 0, _dmiProxyGetTarget()->clazzInfo(), 0);
  }
  void wordChars(int low, int hi)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::clazzInfo()->methods[49]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, StreamTokenizer)::wordChars(low, hi);
      return;
    }
    ::acdk::lang::dmi::ScriptVar __acdk_retval;
    ::acdk::lang::dmi::ScriptVarArray __acdk_args(2);
    __acdk_args[0] = ::acdk::lang::inOf(low);
    __acdk_args[1] = ::acdk::lang::inOf(hi);
    _dmiProxyGetTarget()->standardDispatch("wordChars", __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::, StreamTokenizer)::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::, StreamTokenizer)::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::, StreamTokenizer)::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::, StreamTokenizer)::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::, StreamTokenizer)::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::, StreamTokenizer)::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;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _StreamTokenizer_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 StreamTokenizer_DmiProxy((::acdk::io::RCharReader)args[0].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _StreamTokenizer_DmiProxy_interfaces[] =
{
  &StreamTokenizer_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* StreamTokenizer_methods__StreamTokenizer_in_acdk_io_CharReader_args[] = 
{
  &StreamTokenizer_DmiProxy_methods__StreamTokenizer_in_acdk_io_CharReader_arg_reader,
  0
};

::acdk::lang::dmi::ClazzMethodInfo StreamTokenizer_DmiProxy_methods__StreamTokenizer_in_acdk_io_CharReader = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "StreamTokenizer_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  StreamTokenizer::clazzInfo(), // returnType
  "_0_StreamTokenizer_DmiProxy", // altname
  -1, // altnamehashCode
  StreamTokenizer_methods__StreamTokenizer_in_acdk_io_CharReader_args,
  0, // argumentCount
  0, // excpetions,
  StreamTokenizer_DmiProxy::_StreamTokenizer_in_acdk_io_CharReader_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* StreamTokenizer_methods[] = 
{
  &StreamTokenizer_DmiProxy_methods__StreamTokenizer_in_acdk_io_CharReader,
  0
};

::acdk::lang::dmi::ClazzInfo* StreamTokenizer_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "StreamTokenizer_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _StreamTokenizer_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     StreamTokenizer_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_StreamTokenizer_DmiProxy(StreamTokenizer_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class StringReader_DmiProxy
: extends StringReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(StringReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  StringReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, StringReader)::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); }
  StringReader_DmiProxy(IN(::acdk::lang::RString) str, int readpos, IN(::acdk::lang::RObject) iolock)
  : StringReader(str, readpos, iolock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  StringReader_DmiProxy(IN(::acdk::lang::RString) str)
  : StringReader(str)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  StringReader_DmiProxy(IN(::acdk::lang::RString) str, int readpos)
  : StringReader(str, readpos)
  {
     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::, StringReader)::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::, StringReader)::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::, StringReader)::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::, StringReader)::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::, StringReader)::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::, StringReader)::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::, StringReader)::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::, StringReader)::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::, StringReader)::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*
  _StringReader_in_acdk_lang_String_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 StringReader_DmiProxy((::acdk::lang::RString)args[0].getObjectVar(), args[1].getIntVar(), (::acdk::lang::RObject)args[2].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _StringReader_in_acdk_lang_String_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 StringReader_DmiProxy((::acdk::lang::RString)args[0].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _StringReader_in_acdk_lang_String_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 StringReader_DmiProxy((::acdk::lang::RString)args[0].getObjectVar(), args[1].getIntVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _StringReader_DmiProxy_interfaces[] =
{
  &StringReader_DmiProxy_super,
  0
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo StringReader_DmiProxy_methods__StringReader_in_acdk_lang_String_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* StringReader_methods__StringReader_in_acdk_lang_String_I_in_acdk_lang_Object_args[] = 
{
  &StringReader_DmiProxy_methods__StringReader_in_acdk_lang_String_I_in_acdk_lang_Object_arg_str,
  &StringReader_DmiProxy_methods__StringReader_in_acdk_lang_String_I_in_acdk_lang_Object_arg_readpos,
  &StringReader_DmiProxy_methods__StringReader_in_acdk_lang_String_I_in_acdk_lang_Object_arg_iolock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo StringReader_DmiProxy_methods__StringReader_in_acdk_lang_String_I_in_acdk_lang_Object = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "StringReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  StringReader::clazzInfo(), // returnType
  "_0_StringReader_DmiProxy", // altname
  -1, // altnamehashCode
  StringReader_methods__StringReader_in_acdk_lang_String_I_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  StringReader_DmiProxy::_StringReader_in_acdk_lang_String_I_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* StringReader_methods__StringReader_in_acdk_lang_String_args[] = 
{
  &StringReader_DmiProxy_methods__StringReader_in_acdk_lang_String_arg_str,
  0
};

::acdk::lang::dmi::ClazzMethodInfo StringReader_DmiProxy_methods__StringReader_in_acdk_lang_String = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "StringReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  StringReader::clazzInfo(), // returnType
  "_1_StringReader_DmiProxy", // altname
  -1, // altnamehashCode
  StringReader_methods__StringReader_in_acdk_lang_String_args,
  0, // argumentCount
  0, // excpetions,
  StringReader_DmiProxy::_StringReader_in_acdk_lang_String_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo* StringReader_methods__StringReader_in_acdk_lang_String_I_args[] = 
{
  &StringReader_DmiProxy_methods__StringReader_in_acdk_lang_String_I_arg_str,
  &StringReader_DmiProxy_methods__StringReader_in_acdk_lang_String_I_arg_readpos,
  0
};

::acdk::lang::dmi::ClazzMethodInfo StringReader_DmiProxy_methods__StringReader_in_acdk_lang_String_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "StringReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  StringReader::clazzInfo(), // returnType
  "_2_StringReader_DmiProxy", // altname
  -1, // altnamehashCode
  StringReader_methods__StringReader_in_acdk_lang_String_I_args,
  0, // argumentCount
  0, // excpetions,
  StringReader_DmiProxy::_StringReader_in_acdk_lang_String_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* StringReader_methods[] = 
{
  &StringReader_DmiProxy_methods__StringReader_in_acdk_lang_String_I_in_acdk_lang_Object,
  &StringReader_DmiProxy_methods__StringReader_in_acdk_lang_String,
  &StringReader_DmiProxy_methods__StringReader_in_acdk_lang_String_I,
  0
};

::acdk::lang::dmi::ClazzInfo* StringReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "StringReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _StringReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     StringReader_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_StringReader_DmiProxy(StringReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class StringWriter_DmiProxy
: extends StringWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(StringWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  StringWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, StringWriter)::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); }
  StringWriter_DmiProxy()
  : StringWriter()
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  ::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::, StringWriter)::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::, StringWriter)::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::, StringWriter)::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::, StringWriter)::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::, StringWriter)::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::, StringWriter)::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::, StringWriter)::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::, StringWriter)::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*
  _StringWriter_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 StringWriter_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _StringWriter_DmiProxy_interfaces[] =
{
  &StringWriter_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo StringWriter_DmiProxy_methods__StringWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "StringWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  StringWriter::clazzInfo(), // returnType
  "_0_StringWriter_DmiProxy", // altname
  -1, // altnamehashCode
  StringWriter_methods__StringWriter_args,
  0, // argumentCount
  0, // excpetions,
  StringWriter_DmiProxy::_StringWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* StringWriter_methods[] = 
{
  &StringWriter_DmiProxy_methods__StringWriter,
  0
};

::acdk::lang::dmi::ClazzInfo* StringWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "StringWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _StringWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     StringWriter_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_StringWriter_DmiProxy(StringWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class SubReader_DmiProxy
: extends SubReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(SubReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  SubReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, SubReader)::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); }
  SubReader_DmiProxy(IN(::acdk::io::RReader) in, int startoffset, int len)
  : SubReader(in, startoffset, len)
  {
     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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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::, SubReader)::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*
  _SubReader_in_acdk_io_Reader_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 SubReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar(), args[1].getIntVar(), args[2].getIntVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _SubReader_DmiProxy_interfaces[] =
{
  &SubReader_DmiProxy_super,
  0
};

::acdk::lang::dmi::ClazzMethodArgInfo SubReader_DmiProxy_methods__SubReader_in_acdk_io_Reader_I_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 SubReader_DmiProxy_methods__SubReader_in_acdk_io_Reader_I_I_arg_startoffset =
{
  ::acdk::lang::dmi::MiMethodArgInfo,
  0, //AttributesRes
  "startoffset",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextSibling
  ::acdk::lang::dmi::ClazzInfo::getIntClazz()
};

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

::acdk::lang::dmi::ClazzMethodArgInfo* SubReader_methods__SubReader_in_acdk_io_Reader_I_I_args[] = 
{
  &SubReader_DmiProxy_methods__SubReader_in_acdk_io_Reader_I_I_arg_in,
  &SubReader_DmiProxy_methods__SubReader_in_acdk_io_Reader_I_I_arg_startoffset,
  &SubReader_DmiProxy_methods__SubReader_in_acdk_io_Reader_I_I_arg_len,
  0
};

::acdk::lang::dmi::ClazzMethodInfo SubReader_DmiProxy_methods__SubReader_in_acdk_io_Reader_I_I = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "SubReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  SubReader::clazzInfo(), // returnType
  "_0_SubReader_DmiProxy", // altname
  -1, // altnamehashCode
  SubReader_methods__SubReader_in_acdk_io_Reader_I_I_args,
  0, // argumentCount
  0, // excpetions,
  SubReader_DmiProxy::_SubReader_in_acdk_io_Reader_I_I_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* SubReader_methods[] = 
{
  &SubReader_DmiProxy_methods__SubReader_in_acdk_io_Reader_I_I,
  0
};

::acdk::lang::dmi::ClazzInfo* SubReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "SubReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _SubReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     SubReader_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_SubReader_DmiProxy(SubReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class TeeCharWriter_DmiProxy
: extends TeeCharWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(TeeCharWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  TeeCharWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, TeeCharWriter)::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); }
  TeeCharWriter_DmiProxy(IN(::acdk::io::RCharWriter) first, IN(::acdk::io::RCharWriter) second)
  : TeeCharWriter(first, second)
  {
     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::, TeeCharWriter)::clazzInfo()->methods[2]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, TeeCharWriter)::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::, TeeCharWriter)::clazzInfo()->methods[3]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, TeeCharWriter)::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::, TeeCharWriter)::clazzInfo()->methods[4]) == false)
    {
      return ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, TeeCharWriter)::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::, TeeCharWriter)::clazzInfo()->methods[6]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, TeeCharWriter)::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::, TeeCharWriter)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, TeeCharWriter)::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::, TeeCharWriter)::clazzInfo()->methods[8]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, TeeCharWriter)::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::, TeeCharWriter)::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::, TeeCharWriter)::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::, TeeCharWriter)::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::, TeeCharWriter)::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::, TeeCharWriter)::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::, TeeCharWriter)::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::, TeeCharWriter)::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*
  _TeeCharWriter_in_acdk_io_CharWriter_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 TeeCharWriter_DmiProxy((::acdk::io::RCharWriter)args[0].getObjectVar(), (::acdk::io::RCharWriter)args[1].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _TeeCharWriter_DmiProxy_interfaces[] =
{
  &TeeCharWriter_DmiProxy_super,
  0
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo* TeeCharWriter_methods__TeeCharWriter_in_acdk_io_CharWriter_in_acdk_io_CharWriter_args[] = 
{
  &TeeCharWriter_DmiProxy_methods__TeeCharWriter_in_acdk_io_CharWriter_in_acdk_io_CharWriter_arg_first,
  &TeeCharWriter_DmiProxy_methods__TeeCharWriter_in_acdk_io_CharWriter_in_acdk_io_CharWriter_arg_second,
  0
};

::acdk::lang::dmi::ClazzMethodInfo TeeCharWriter_DmiProxy_methods__TeeCharWriter_in_acdk_io_CharWriter_in_acdk_io_CharWriter = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "TeeCharWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  TeeCharWriter::clazzInfo(), // returnType
  "_0_TeeCharWriter_DmiProxy", // altname
  -1, // altnamehashCode
  TeeCharWriter_methods__TeeCharWriter_in_acdk_io_CharWriter_in_acdk_io_CharWriter_args,
  0, // argumentCount
  0, // excpetions,
  TeeCharWriter_DmiProxy::_TeeCharWriter_in_acdk_io_CharWriter_in_acdk_io_CharWriter_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* TeeCharWriter_methods[] = 
{
  &TeeCharWriter_DmiProxy_methods__TeeCharWriter_in_acdk_io_CharWriter_in_acdk_io_CharWriter,
  0
};

::acdk::lang::dmi::ClazzInfo* TeeCharWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "TeeCharWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _TeeCharWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     TeeCharWriter_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_TeeCharWriter_DmiProxy(TeeCharWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class TeeReader_DmiProxy
: extends TeeReader
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(TeeReader)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  TeeReader::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, TeeReader)::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); }
  TeeReader_DmiProxy(IN(::acdk::io::RReader) from, IN(::acdk::io::RWriter) to)
  : TeeReader(from, to)
  {
     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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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::, TeeReader)::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*
  _TeeReader_in_acdk_io_Reader_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 TeeReader_DmiProxy((::acdk::io::RReader)args[0].getObjectVar(), (::acdk::io::RWriter)args[1].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _TeeReader_DmiProxy_interfaces[] =
{
  &TeeReader_DmiProxy_super,
  0
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo* TeeReader_methods__TeeReader_in_acdk_io_Reader_in_acdk_io_Writer_args[] = 
{
  &TeeReader_DmiProxy_methods__TeeReader_in_acdk_io_Reader_in_acdk_io_Writer_arg_from,
  &TeeReader_DmiProxy_methods__TeeReader_in_acdk_io_Reader_in_acdk_io_Writer_arg_to,
  0
};

::acdk::lang::dmi::ClazzMethodInfo TeeReader_DmiProxy_methods__TeeReader_in_acdk_io_Reader_in_acdk_io_Writer = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor | ::acdk::lang::dmi::MiMiOrgPoly,
  0, //AttributesRes
  "TeeReader_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  TeeReader::clazzInfo(), // returnType
  "_0_TeeReader_DmiProxy", // altname
  -1, // altnamehashCode
  TeeReader_methods__TeeReader_in_acdk_io_Reader_in_acdk_io_Writer_args,
  0, // argumentCount
  0, // excpetions,
  TeeReader_DmiProxy::_TeeReader_in_acdk_io_Reader_in_acdk_io_Writer_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* TeeReader_methods[] = 
{
  &TeeReader_DmiProxy_methods__TeeReader_in_acdk_io_Reader_in_acdk_io_Writer,
  0
};

::acdk::lang::dmi::ClazzInfo* TeeReader_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "TeeReader_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _TeeReader_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     TeeReader_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_TeeReader_DmiProxy(TeeReader_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

using namespace acdk::lang;
class TeeWriter_DmiProxy
: extends TeeWriter
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(TeeWriter)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  TeeWriter::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, TeeWriter)::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); }
  TeeWriter_DmiProxy(IN(::acdk::io::RWriter) out1, IN(::acdk::io::RWriter) out2, IN(::acdk::lang::RObject) lock)
  : TeeWriter(out1, out2, lock)
  {
     clazzInfo()->_resolveSupers(true, false);
     ACDK_FQ_SUPER_QUALIFIER(::acdk::lang::dmi::, DmiProxyBase)::_initThis(this);
  }
  TeeWriter_DmiProxy(IN(::acdk::io::RWriter) out1, IN(::acdk::io::RWriter) out2)
  : TeeWriter(out1, out2)
  {
     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::, TeeWriter)::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::, TeeWriter)::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::, TeeWriter)::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::, TeeWriter)::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::, TeeWriter)::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::, TeeWriter)::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::, TeeWriter)::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::, TeeWriter)::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::, TeeWriter)::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::, TeeWriter)::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::, TeeWriter)::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::, TeeWriter)::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::, TeeWriter)::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::, TeeWriter)::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::io::RStorage 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()
  {
    ::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)
  {
    ::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);
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _TeeWriter_in_acdk_io_Writer_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 TeeWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar(), (::acdk::io::RWriter)args[1].getObjectVar(), (::acdk::lang::RObject)args[2].getObjectVar());
    return methinf;
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _TeeWriter_in_acdk_io_Writer_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 TeeWriter_DmiProxy((::acdk::io::RWriter)args[0].getObjectVar(), (::acdk::io::RWriter)args[1].getObjectVar());
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _TeeWriter_DmiProxy_interfaces[] =
{
  &TeeWriter_DmiProxy_super,
  0
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo TeeWriter_DmiProxy_methods__TeeWriter_in_acdk_io_Writer_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* TeeWriter_methods__TeeWriter_in_acdk_io_Writer_in_acdk_io_Writer_in_acdk_lang_Object_args[] = 
{
  &TeeWriter_DmiProxy_methods__TeeWriter_in_acdk_io_Writer_in_acdk_io_Writer_in_acdk_lang_Object_arg_out1,
  &TeeWriter_DmiProxy_methods__TeeWriter_in_acdk_io_Writer_in_acdk_io_Writer_in_acdk_lang_Object_arg_out2,
  &TeeWriter_DmiProxy_methods__TeeWriter_in_acdk_io_Writer_in_acdk_io_Writer_in_acdk_lang_Object_arg_lock,
  0
};

::acdk::lang::dmi::ClazzMethodInfo TeeWriter_DmiProxy_methods__TeeWriter_in_acdk_io_Writer_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
  "TeeWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  TeeWriter::clazzInfo(), // returnType
  "_0_TeeWriter_DmiProxy", // altname
  -1, // altnamehashCode
  TeeWriter_methods__TeeWriter_in_acdk_io_Writer_in_acdk_io_Writer_in_acdk_lang_Object_args,
  0, // argumentCount
  0, // excpetions,
  TeeWriter_DmiProxy::_TeeWriter_in_acdk_io_Writer_in_acdk_io_Writer_in_acdk_lang_Object_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

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

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

::acdk::lang::dmi::ClazzMethodArgInfo* TeeWriter_methods__TeeWriter_in_acdk_io_Writer_in_acdk_io_Writer_args[] = 
{
  &TeeWriter_DmiProxy_methods__TeeWriter_in_acdk_io_Writer_in_acdk_io_Writer_arg_out1,
  &TeeWriter_DmiProxy_methods__TeeWriter_in_acdk_io_Writer_in_acdk_io_Writer_arg_out2,
  0
};

::acdk::lang::dmi::ClazzMethodInfo TeeWriter_DmiProxy_methods__TeeWriter_in_acdk_io_Writer_in_acdk_io_Writer = 
{
  ::acdk::lang::dmi::MiPublic | ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "TeeWriter_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  TeeWriter::clazzInfo(), // returnType
  "_1_TeeWriter_DmiProxy", // altname
  -1, // altnamehashCode
  TeeWriter_methods__TeeWriter_in_acdk_io_Writer_in_acdk_io_Writer_args,
  0, // argumentCount
  0, // excpetions,
  TeeWriter_DmiProxy::_TeeWriter_in_acdk_io_Writer_in_acdk_io_Writer_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* TeeWriter_methods[] = 
{
  &TeeWriter_DmiProxy_methods__TeeWriter_in_acdk_io_Writer_in_acdk_io_Writer_in_acdk_lang_Object,
  &TeeWriter_DmiProxy_methods__TeeWriter_in_acdk_io_Writer_in_acdk_io_Writer,
  0
};

::acdk::lang::dmi::ClazzInfo* TeeWriter_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "TeeWriter_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _TeeWriter_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     TeeWriter_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_TeeWriter_DmiProxy(TeeWriter_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io

namespace acdk { 
namespace io { 

class Writer_DmiProxy
: extends ::acdk::lang::Object
, implements Writer
, implements ::acdk::lang::dmi::DmiProxyBase
{
  ACDK_PROXY_WITH_METAINFO(Writer)
public:
  ::acdk::lang::Object* _cast(const ::acdk::lang::dmi::ClazzInfo* ci)
  {
    ::acdk::lang::Object* ret = _dmiProxyCast(ci);
    if (ret != 0)
      return ret;
    ret =  Writer::_cast(ci);
    return ret;
  }
  virtual void getCollectableFields(FieldReferences& fields)
  {
    ACDK_FQ_SUPER_QUALIFIER(acdk::io::, Writer)::getCollectableFields(fields);
    fields.push_back((::acdk::lang::RObject*)_dmiTarget._ref_this());
  }
  static ::acdk::lang::RObject create_instance() { return new Writer_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); }
  Writer_DmiProxy()
  : Writer()
  {
     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::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::, Writer)::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::, Writer)::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);
  }
  void write(IN(RbyteArray) ch, int offset, int len)
  {
    if (_dmiProxyIsOverloaded(getClazzInfo(), ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::clazzInfo()->methods[7]) == false)
    {
      ACDK_FQ_SUPER_QUALIFIER(::acdk::io::, Writer)::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);
  }
  static const ::acdk::lang::dmi::ClazzMethodInfo*
  _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 Writer_DmiProxy();
    return methinf;
  }
};

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

::acdk::lang::dmi::ClazzSuperInfo* _Writer_DmiProxy_interfaces[] =
{
  &Writer_DmiProxy_super,
  0
};

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

::acdk::lang::dmi::ClazzMethodInfo Writer_DmiProxy_methods__Writer = 
{
  ::acdk::lang::dmi::MiMethodInfo | ::acdk::lang::dmi::MiMiConstructor,
  0, //AttributesRes
  "Writer_DmiProxy",
  -1, // hashCode
  "", // ns
  0, // _scopeParent
  0, // _nextScopeSibling
  Writer::clazzInfo(), // returnType
  "_DmiProxy", // altname
  -1, // altnamehashCode
  Writer_methods__Writer_args,
  0, // argumentCount
  0, // excpetions,
  Writer_DmiProxy::_Writer_dispatch,
  ::acdk::lang::dmi::ClazzMethodInfo::DefaultDispatchThrowableFunc, 
  0 // cached methodhash
};

::acdk::lang::dmi::ClazzMethodInfo* Writer_methods[] = 
{
  &Writer_DmiProxy_methods__Writer,
  0
};

::acdk::lang::dmi::ClazzInfo* Writer_DmiProxy::clazzInfo()
{
static ::acdk::lang::dmi::ClazzInfo _clazzInfo =
  {
    ::acdk::lang::dmi::MiClazzInfo | ::acdk::lang::dmi::MiResolved, // clazz-flags
    0, //AttributesRes
    "Writer_DmiProxy", // name of class
  -1, // hashCode
    "acdk/io", // the namespace
     0, // _scopeParent
     0, // _nextSibling
     0, // type
     0, // _firstChild
     _Writer_DmiProxy_interfaces, // pointer to Array of ClazzInfo references
     0, // count of Super / Interfaces
     0, // pointer to Array of fields
     0, // count of Fields
     Writer_methods, // pointer to Array of Methods
     0, // count of Methods
     Writer_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_Writer_DmiProxy(Writer_DmiProxy::clazzInfo());


} // namespace acdk
} // namespace io