* get needed properties
* get required properties
    public SGMLTag parseTag(ParseContext context,                            PositionReader input,                            long startPosition,                            SGMLTag tag)        throws IOException    {        /*         * parse the full tag to get all parameters         * (i.e. an optional 'format'-parameter)         * and to place the Reader at the position         * after the closing '>'         */        tag.parse(input);        /*         * The Offset is the space the reader skipped         * before it reached the opening '<'         *   <!-- a comment --> some garbage <DATE>         * ^----- offset --------------------^         */        startPos = startPosition + tag.getOffset();        /*         * get needed properties         */        name = tag.value ("NAME", null);        if (name == null)            return null;                /*         * special handling for radio buttons. They react on the         * constraint name "NAME=VALUE"         */        String type = tag.value("TYPE", null);        if (type != null && "RADIO".equals(type.toUpperCase())) {            String value = tag.value("VALUE", null);            if (value != null)                 name = name + "=" + value;        }        endPos = input.getPosition();        properties = tag.getAttributes();        properties.remove("NAME");        properties.remove("TYPE");        properties.remove("VALUE");        return tag;    }