private boolean areParentPartsEqualIgnoringCase(final List<String> parentParts1,
                                                    final List<String> parentParts2) {
        if (parentParts1 == null && parentParts2 == null) {
            return true;
        } else if (parentParts1 == null) {
            return false;
        } else if (parentParts2 == null) {
            return false;
        } else if (parentParts1.size() != parentParts2.size()) {
            return false;
        } else {
            for (int i = 0; i < parentParts1.size(); i++) {
                if (!parentParts1.get(i).equalsIgnoreCase(parentParts2.get(i))) {
                    return false;
                }
            }
        }
        return true;
    }
@return The parent part name from a doc path, i.e. "Farm" from "Animals/Farm/Horse".
Throws a {@link RuntimeException} if the path is empty or there is no parent.
stroom-util-shared/src/main/java/stroom/util/shared/DocPath.java