class PropertyConfigurationImpl implements PropertyConfiguration<C, P> {

    @Override
    public PropertyConfiguration<C, P> readOnly() {
        data = data.updateReadOnly(true);
        return this;
    }

    public  PropertyConfigurationImpl(Class<C> componentType, String propertyName,
                                     Class<P> propertyType, P defaultValue);

}