code: public final void addAreas(@NonNull final Map<ViewType, View> areas) {
          this.areas = new TreeMap<>(new AreaComparator());
          this.dividers = new HashMap<>();
  
          for (Map.Entry<ViewType, View> entry : areas.entrySet()) {
              ViewType viewType = entry.getKey();
              View view = entry.getValue();
  
              if (viewType instanceof AreaViewType) {
                  this.areas.put(((AreaViewType) viewType).getArea(), view);
              } else if (viewType instanceof DividerViewType && view instanceof Divider) {
                  this.dividers.put(((DividerViewType) viewType).getLocation(), (Divider) view);
              }
          }
  
          addAreas();
          addDividers();
          registerScrollLayoutListener();
      }
docs: Adds the different areas of a dialog to the root view.
  
  @param areas
  A map, which contains the areas, which should be added, as keys and their
  corresponding views as values, as an instance of the type {@link Map}. The map may
  not be null