@Override
	public Iterator<EntityInfo> iterator() {
		return new Iterator<EntityInfo>() {
			Iterator<EntityInfo> use = inner.iterator();
			private EntityInfo nextElement;
			
			@Override
			public boolean hasNext() {
				EntityInfo info;
				while (use.hasNext())
				{
					info = use.next();
					if (!info.getFullPath().contains(exclude))
					{
						nextElement = info;
						return true;
					}
				}
				return false;
			}

			@Override
			public EntityInfo next() {
				if (nextElement == null)
				{
					if (!hasNext())
						throw new RuntimeException("Iterator used wrong");
				}
				EntityInfo nxt = nextElement;
				nextElement = null;
				return nxt;
			}

			@Override
			public void remove() {				
			}
			
		};
	}