### Question:
GeoGigDataStoreFactory implements DataStoreFactorySpi { public @Override boolean canProcess(Map<String, Serializable> params) { try { final String repoParam = (String) REPOSITORY.lookUp(params); final URI repository = resolveURI(repoParam); try { RepositoryFinder.INSTANCE.lookup(repository); } catch (IllegalArgumentException e) { return false; } return true; } catch (IOException ignoreMe) { } if (params.containsKey(REPOSITORY.key)) { LOGGER.warn("Unable to process parameter %s: '%s'", REPOSITORY.key, params.get(REPOSITORY.key)); } return false; }  @Override String getDisplayName(); @Override String getDescription(); @Override Param[] getParametersInfo(); @Override boolean canProcess(Map<String, Serializable> params); @Override boolean isAvailable(); @Override Map<Key, ?> getImplementationHints(); @Override GeoGigDataStore createDataStore(Map<String, Serializable> params); @Override GeoGigDataStore createNewDataStore(Map<String, Serializable> params); static final String DISPLAY_NAME; static final Param REPOSITORY; static final Param BRANCH; static final Param HEAD; static final Param DEFAULT_NAMESPACE; static final Param AUTO_INDEXING; }### Answer:
@Test public void testCanProcess() { Map<String, Serializable> params = Collections.emptyMap(); assertFalse(factory.canProcess(params)); assertTrue(factory.canProcess(ImmutableMap.of(REPOSITORY.key, repoURI))); assertTrue(factory.canProcess(ImmutableMap.of(REPOSITORY.key, repoURI.toString()))); assertFalse( factory.canProcess(ImmutableMap.of(REPOSITORY.key, "invalidschema: }