code: @Override
      public void setUserLayout(
              IPerson person,
              IUserProfile profile,
              Document layoutXML,
              boolean channelsAdded,
              boolean updateFragmentCache) {
  
          final Document plf = (Document) person.getAttribute(Constants.PLF);
          if (logger.isDebugEnabled()) {
              logger.debug(
                      "PLF for {}\n{}",
                      person.getAttribute(IPerson.USERNAME),
                      XmlUtilitiesImpl.toString(plf));
          }
          super.setUserLayout(person, profile, plf, channelsAdded);
  
          if (updateFragmentCache) {
              final FragmentDefinition fragment =
                      this.fragmentUtils.getFragmentDefinitionByOwner(person);
  
              if (fragment != null) {
                  this.updateCachedLayout(plf, profile, fragment);
              }
          }
      }
docs: This method overrides the same method in the super class to persist only layout information
  stored in the user's person layout fragment or PLF. If fragment cache update is requested
  then it checks to see if this person is a layout owner and if so then their changes are
  pushed into the appropriate layout fragment.