example for abstract class and method. (see ConstraintItem)