@Nonnull @Override public Backend createBackend(URI uri, ImmutableConfig baseConfig) { checkNotNull(uri, "uri"); checkNotNull(baseConfig, "baseConfig"); checkArgument(uri.isFile() || uri.isHierarchical(), "URI '%s' must be either file-based or hierarchical", uri.toString()); try { return uri.isFile() ? createLocalBackend(uri, baseConfig) : createRemoteBackend(uri, baseConfig); } catch (Exception e) { throw new InvalidBackendException("Unable to create/open the database", e); } }