
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_util_Collections$6__
#define __java_util_Collections$6__

#pragma interface

#include <java/util/Collections$CheckedIterator.h>

class java::util::Collections$6 : public ::java::util::Collections$CheckedIterator
{

public: // actually package-private
  Collections$6(::java::util::Collections$CheckedMap$CheckedEntrySet *, ::java::util::Iterator *, ::java::lang::Class *);
public:
  virtual ::java::lang::Object * next();
public: // actually package-private
  static ::java::util::Collections$CheckedMap$CheckedEntrySet * access$0(::java::util::Collections$6 *);
  ::java::util::Collections$CheckedMap$CheckedEntrySet * __attribute__((aligned(__alignof__( ::java::util::Collections$CheckedIterator)))) this$2;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_Collections$6__
