@Override
    public void constructType() {

      this.type = new Type.SimpleType.EmptyListType();

      for (int i = 0; i < getListElements().size(); i++) {
        AlternativeTransformationListElement element = getListElements().get(i);

        element.constructType();
        this.type = (Type.SimpleType) this.type.add(element.getType());

        if (this.type == null) {
          throw SemanticException.uncompatibleListElement(
              getListElements().get(i - 1), getListElements().get(i));
        }
      }
    }