class BasicDependantColorPropertyEditor extends AbstractColorPropertyEditor {

    @Override
    public String getAsText() {<FILL_FUNCTION_BODY>}

    @Override
    public void setAsText(String s) {
        if (matchColorMode(s, DependantColor.Mode.CUSTOM.name().toLowerCase())) {
             setValue(new DependantColor(toColor(s)));
        } else if (matchColorMode(s, DependantColor.Mode.PARENT.name().toLowerCase())) {
            setValue(new DependantColor(DependantColor.Mode.PARENT));
        } else if (matchColorMode(s, DependantColor.Mode.DARKER.name().toLowerCase())) {
            setValue(new DependantColor(DependantColor.Mode.DARKER));
        }
    }

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


}

        DependantColor c = (DependantColor) getValue();
        if (c.getMode().equals(DependantColor.Mode.CUSTOM)) {
            return toText(c.getMode().name(), c.getCustomColor() == null ? Color.BLACK : c.getCustomColor());
        } else {
            return c.getMode().name().toLowerCase();
        }
    
<methods>public non-sealed void <init>() <variables>