class ImmutableThingFromScratchBuilder implements ThingBuilder, ThingBuilder.FromScratch {

    @Override
    public FromScratch removeFeatureProperty(final String featureId, final JsonPointer propertyPath) {
        checkNotNull(featureId, "identifier of the Feature from which the property to be removed");
        checkNotNull(propertyPath, "path to the property to be removed");

        if (null != featuresBuilder) {
            final Features existingFeatures = getFeatures();
            if (null != existingFeatures) {
                return setFeatures(existingFeatures.removeProperty(featureId, propertyPath));
            }
        }
        return this;
    }

    private  ImmutableThingFromScratchBuilder();

}