private static String join(String with, String... components) {
        StringBuilder result = new StringBuilder();
        int i = 0;
        while (i < components.length) {
            result.append(components[i++]);
            if (i < components.length) {
                result.append(with);
            }
        }

        return result.toString();
    }
Returns true if the supplied path begins with {@code ~}.  This means that the path should be resolved relative
to the user's home directory.

@param candidatePath the candidate path that may represent a path under the user's home directory
@return true if the path begins with {@code ~}
src/main/java/io/fabric8/maven/docker/util/VolumeBindingUtil.java