protected void handleDAVPropfindAllprop(SharedEntity sharedEntity,
			String depth) throws Exception {
		// we are a bit of an asshole here, we return all
		// properties no matter what was requested anyway.
		// FIXME?
		// maybe this needs may too much time to fix

		this.printDAVPropfindHeader();

		// System.out.println("Depth " + depth);

		if (depth.equals("1") && sharedEntity.isDirectory()) {
			// current and subelements
			this.printDAVPropfindElement(sharedEntity);

			
			SharedEntity sharedEntities[] = sharedEntity.getDirectorySubEntities();

			for (SharedEntity element : sharedEntities) {
				this.printDAVPropfindElement(element);
			}
			
			sharedEntities = sharedEntity.getFileSubEntities();

			for (SharedEntity element : sharedEntities) {
				this.printDAVPropfindElement(element);
			}

		} else if (depth.equals("0") || !sharedEntity.isDirectory()) {
			// only current
			this.printDAVPropfindElement(sharedEntity);
		} else {
			System.err.println (depth + " " + sharedEntity.getRequestedPath());
		}

		this.printDAVPropfindFooter();

	}