class BasicDependantOriginalColorPropertyEditor extends AbstractColorPropertyEditor {

    @Override
    public String getAsText() {
        DependantOriginalColor c = (DependantOriginalColor) getValue();
        if (c.getMode().equals(DependantOriginalColor.Mode.CUSTOM)) {
            return toText(c.getMode().name(), c.getCustomColor() == null ? Color.BLACK : c.getCustomColor());
        } else {
            return c.getMode().name().toLowerCase();
        }

    }

    @Override
    public void setAsText(String s) {<FILL_FUNCTION_BODY>}

    @Override
    public boolean supportsCustomEditor() {
        return false;
    }
}


        if (matchColorMode(s, DependantOriginalColor.Mode.CUSTOM.name().toLowerCase())) {
            setValue(new DependantOriginalColor(toColor(s)));
        } else if (matchColorMode(s, DependantOriginalColor.Mode.ORIGINAL.name().toLowerCase())) {
            setValue(new DependantOriginalColor(DependantOriginalColor.Mode.ORIGINAL));
        } else if (matchColorMode(s, DependantOriginalColor.Mode.PARENT.name().toLowerCase())) {
            setValue(new DependantOriginalColor(DependantOriginalColor.Mode.PARENT));
        }
    
<methods>public non-sealed void <init>() <variables>