public boolean hasNext() { while ( memberIndex <= 0 ) { if ( viewIndex >= views.length ) { // no more views, time to move up hierarchy clazz = filterClass( clazz.getSuperclass() ); viewIndex = 0; } if ( null == clazz ) { return false; } final int index = viewIndex++; members = views[index].members( clazz ); memberIndex = members.length; } return true; }
public DeclaredMembers( final Class<?> clazz, final View... views ) { this.clazz = clazz; this.views = views.length == 0 ? View.values() : views; }