docs: public boolean applyLayout(Layout layout) {
          boolean applied = false;
          if (layout != null && isValidLayout(layout)) {
              Layout defaultLayout  = getDefaultLayout();
              if (layout != defaultLayout) {
                  mLayouts.remove(defaultLayout);
              }
              if(mLayouts.add(layout)) {
                  layout.onLayoutApplied(this, mViewPort);
                  applied = true;
              }
          }
          return applied;
      }