code: @Nonnull
    public EChange addAllFrom (@Nonnull final MapBasedXPathVariableResolver aOther, final boolean bOverwrite)
    {
      ValueEnforcer.notNull (aOther, "Other");
      EChange eChange = EChange.UNCHANGED;
      for (final Map.Entry <String, ?> aEntry : aOther.getAllVariables ().entrySet ())
      {
        // Local part only to QName
        final QName aKey = new QName (aEntry.getKey ());
        if (bOverwrite || !m_aMap.containsKey (aKey))
        {
          m_aMap.put (aKey, aEntry.getValue ());
          eChange = EChange.CHANGED;
        }
      }
  
      return eChange;
    }
docs: Add all variables from the other variable resolver into this resolver. This
  methods creates a QName with an empty namespace URI.
  
  @param aOther
  The variable resolver to import the variable from. May not be
  <code>null</code>.
  @param bOverwrite
  if <code>true</code> existing variables will be overwritten with the
  new variables, otherwise the old variables are kept.
  @return {@link EChange}