@Override public List<CollectableField> getCollectableFields() throws CommonBusinessException { log.debug("getCollectableFields"); Collection<EntityMetaDataVO> entites = new ArrayList<EntityMetaDataVO>(); for (EntityMetaDataVO eMeta : MetaDataClientProvider.getInstance().getAllEntities()) { if (!includeSystemEntities && eMeta.getId() < 0) { continue; } if (includeEntitiesWithoutMenu || (eMeta.getLocaleResourceIdForMenuPath() != null)) { if (bWithStatemodel && eMeta.isStateModel()) { entites.add(eMeta); } else { if (bWithoutStatemodel && !eMeta.isStateModel()) { entites.add(eMeta); } } } } final List<CollectableField> result = CollectionUtils.transform( entites, new Transformer<EntityMetaDataVO, CollectableField>() { @Override public CollectableField transform(EntityMetaDataVO eMeta) { String label = SpringLocaleDelegate.getInstance().getLabelFromMetaDataVO(eMeta); return makeCollectableField(eMeta, label); } }); Collections.sort(result); return result; }