### Question:
GraphStoreCatalog { public static void remove( String username, NamedDatabaseId databaseId, String graphName, Consumer<GraphStoreWithConfig> removedGraphConsumer, boolean failOnMissing ) { UserCatalog.UserCatalogKey userCatalogKey = UserCatalog.UserCatalogKey.of(databaseId, graphName); Optional .ofNullable(getUserCatalog(username).remove(userCatalogKey)) .ifPresentOrElse( dropGraph(username, removedGraphConsumer, userCatalogKey), () -> handleMissingGraph(userCatalogKey, failOnMissing) ); } private  GraphStoreCatalog(); static GraphStoreWithConfig get(String username, NamedDatabaseId databaseId, String graphName); static void set(GraphCreateConfig config, GraphStore graphStore); static Optional<Graph> getUnion(String username, NamedDatabaseId databaseId, String graphName); static boolean exists(String username, NamedDatabaseId databaseId, String graphName); static void remove(
        String username,
        NamedDatabaseId databaseId,
        String graphName,
        Consumer<GraphStoreWithConfig> removedGraphConsumer,
        boolean failOnMissing
    ); static int graphStoresCount(); static int graphStoresCount(NamedDatabaseId databaseId); static Optional<Map<String, Object>> getDegreeDistribution(String username, NamedDatabaseId databaseId, String graphName); static void setDegreeDistribution(String username, NamedDatabaseId databaseId, String graphName, Map<String, Object> degreeDistribution); static void removeAllLoadedGraphs(); static Map<GraphCreateConfig, GraphStore> getGraphStores(String username); static Map<GraphCreateConfig, GraphStore> getGraphStores(String username, NamedDatabaseId databaseId);  }### Answer:
@Test void remove() { GraphStoreCatalog.set(CONFIG, graphStore); assertTrue(GraphStoreCatalog.exists(USER_NAME, DATABASE_ID, GRAPH_NAME)); GraphStoreCatalog.remove(USER_NAME, DATABASE_ID, GRAPH_NAME, graphStoreWithConfig -> {}, true); assertFalse(GraphStoreCatalog.exists(USER_NAME, DATABASE_ID, GRAPH_NAME)); }