public Map<OptionSpec<?>, List<?>> asMap() {
        Map<OptionSpec<?>, List<?>> map = new HashMap<OptionSpec<?>, List<?>>();
        for ( AbstractOptionSpec<?> spec : recognizedSpecs.values() )
            if ( !spec.representsNonOptions() )
                map.put( spec, valuesOf( spec ) );
        return unmodifiableMap( map );
    }