Question: Is it possible to inherit a role in Java Servlet 3.0 and how? 

Let's say I have role A, B and C. In a servlet i have `if(request.isUserInRole("A")){ /* some feature only available for A */ }` and `if(request.isUserInRole("B")){ /* some feature only available for B */ }`. In web.xml are the roles defined:

```
<security-role>
    <role-name>A</role-name>
</security-role>
<security-role>
    <role-name>B</role-name>
</security-role>
<security-role>
    <role-name>C</role-name>
</security-role>

```

What I want is that every user with role C can do what A and B can without adding role A and B to user C.

Answer: 
why not replace `null` with empty string ?

```
private def div(id: String = "", cssClass: String = ""): JQuery = {
  val optId = if(id.isEmpty) None else Some(id)
  val optCssClass = if(cssClass.isEmpty) None else Some(cssClass)
  ...
  // deal with optId and optCssClass using the Scala-way™
  ...
}

```

then you can do:

```
div(id = "someId") // no cssClass
div(id = "otherId", cssClass = "someClass")

```
One more approach I can suggest is a Builder Pattern

```
trait ElementBuilder {
  def identified(id: String): ElementBuilder
  def build: JQuery
}

case class DivElement(identifier: Option[String] = None) 
  extends ElementBuilder {
  def identified(id: String) = this.copy(identifier = Option(id))
  def build: JQuery = ??? // Smth like <div id={identifier}></div>
}

val builder = DivElement()
builder.identified("foo")
val element = builder.build

```

This approach allows you explicitly set parameters and then build you element by them