class DefaultPluginContext implements PluginContext {

    @Override
    @Nullable
    public <T> T removePlugin(T plugin) {
        Objects.requireNonNull(plugin, "Plugin to remove cannot be null");
        final String name = AnnotationProcessor.getPluginName(plugin);
        return removePlugin(name);
    }

    public  DefaultPluginContext();
    public  DefaultPluginContext(Map<String, Object> registry);

}