@Override
	public Iterator<EntityInfo> iterator() {
		return new Iterator<EntityInfo>() {
			Iterator<EntityInfo> use = inner.iterator();
			
			@Override
			public boolean hasNext() {
				return use.hasNext();
			}

			@Override
			public EntityInfo next() {
				EntityInfo nxt = use.next();
				if (attributeFs.pathExists(nxt.getFullPath() + ExtendedSupportFs.hiddenSymLinkMarker))
				{
					String dest = "";
					try {
						dest = FileSystemUtils.readWholeText(fileSystem, nxt.getFullPath());
					} catch (PathNotFoundException e) {
						e.printStackTrace();
					} catch (AccessDeniedException e) {
						e.printStackTrace();
					} catch (NotAFileException e) {
						e.printStackTrace();
					}
					SymbolicLinkInfo symlink = new SymbolicLinkInfo(nxt.getFullPath(), dest);
					return symlink;
				}
				return nxt;
			}

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