@Override
    public Iterator getIterator(Object obj, Info i) throws Exception
    {
        if (obj != null) {
            SecureIntrospectorControl sic = (SecureIntrospectorControl) this.introspector;
            if (sic.checkObjectExecutePermission(obj.getClass(), null)) {
                return super.getIterator(obj, i);
            } else {
                this.log.warn("Cannot retrieve iterator from " + obj.getClass() + " due to security restrictions.");
            }
        }
        return null;
    }
@ Override public Iterator getIterator ( Object obj , Info i ) throws Exception { if ( obj != null ) { SecureIntrospectorControl sic = ( SecureIntrospectorControl ) this . introspector ; if ( sic . checkObjectExecutePermission ( obj . getClass ( ) , null ) ) { return super . getIterator ( obj , i ) ; } else { this . log . warn ( "Cannot retrieve iterator from " + obj . getClass ( ) + " due to security restrictions." ) ; } } return null ; }
Get an iterator from the given object. Since the superclass method this secure version checks for execute
permission.

@param obj object to iterate over
@param i line, column, template info
@return Iterator for object
@throws Exception when failing to get iterator