Also, how about adding the following constructor to ReadOnlyProps:

    public ReadOnlyProps(Map<String, String> props) {
        this.props = ImmutableMap.copyOf(props);
    }