protected constructors for abstract domain-classes