static String getRelativePath(String[] source, String[] target) {
		int commonIndex = 0;
		while (commonIndex < source.length && commonIndex < target.length
				&& source[commonIndex].equalsIgnoreCase(target[commonIndex])) {
			commonIndex++;
		}
		StringBuilder relative = new StringBuilder();
		if (source.length != commonIndex) {
			int dirsUp = source.length - commonIndex;
			for (int i = 0; i < dirsUp; i++) {
				relative.append("../");
			}
		}
		for (int i = commonIndex; i < target.length; i++) {
			if (target[i].charAt(0) != '@' && target[i].charAt(0) != '#') {
				relative.append(target[i]).append("/");
			}
		}
		relative.deleteCharAt(relative.length() - 1);
		return relative.toString();
	}