chain.addIterator(new FilterNewIterator());
// add database iterators for each implementing class
MetaDataRepository repos = _broker.getConfiguration().
getMetaDataRepositoryInstance();
ClassMetaData meta = repos.getMetaData(_type,
_broker.getClassLoader(), false);
ClassMetaData[] metas;
if (meta != null && (!_subs || !meta.isManagedInterface())
&& (meta.isMapped() || (_subs
&& meta.getMappedPCSubclassMetaDatas().length > 0)))
metas = new ClassMetaData[]{ meta };
else if (_subs && (meta == null || meta.isManagedInterface()))
metas = repos.getImplementorMetaDatas(_type,
_broker.getClassLoader(), false);
else
metas = EMPTY_METAS;