class CloudnamePath {

    public static boolean isValidPathElementName(final String name) {
        if (name == null || name.isEmpty()) {
            return false;
        }

        final Matcher matcher = NAME_PATTERN.matcher(name);
        if (!matcher.matches()) {
            return false;
        }
        if (name.length() > 64) {
            return false;
        }
        if (name.charAt(0) == '-' || name.charAt(name.length() - 1) == '-') {
            return false;
        }
        return true;
    }

    public  CloudnamePath(final String[] pathElements);
    public  CloudnamePath(final CloudnamePath path, final String additionalElement);

}