code: protected Object evaluateOptionsDataSource()
              throws JspException
      {
          Object val = _optionsDataSource;
          if (val == null) {
              // optionsDataSource is option so this is a warning
              if (_optionsDataSource != null)
                  logger.warn(Bundle.getString("Tags_IteratorError",
                          new Object[]{getTagName(), "optionsDataSource", _optionsDataSource}));
              return null;
          }
  
          if (val instanceof Map)
              return val;
  
          Iterator options = null;
          options = IteratorFactory.createIterator(val);
          if (options == null)
              options = IteratorFactory.EMPTY_ITERATOR;
  
          return options;
      }
docs: This method will return the object representing the <code>optionsDataSource</code>.  This
  is overridden from the base class, because there are only two types which will be
  retunred from the method.  The <code>optionsDataSource</code> will either be a instance of a <code>Map</code>
  or and instanceof a <code>Iterator</code>.
  @return the object instance object representing the objectsDataSource.  This may be null.
  @throws JspException on an error