class DbSetId {

    @NonNull
    public Optional<DbSetId> parent() {
        return isRoot() ? Optional.<DbSetId>absent() : Optional.of(new DbSetId(Arrays.copyOf(dimValues, getLevel() - 1), dimColumns));
    }

    private  DbSetId(@NonNull String[] dimValues, @NonNull String[] dimColumns);

}