code: public void put(E el, P pseudo, D data)
      {
          if (pseudo == null)
              mainMap.put(el, data);
          else
          {
              HashMap<P, D> map = pseudoMaps.get(el);
              if (map == null)
              {
                  map = new HashMap<P, D>();
                  pseudoMaps.put(el, map);
              }
              map.put(pseudo, data);
          }
      }
docs: Sets the data for the specified element and pseudo-element.
  @param el the element to which the data belongs
  @param pseudo a pseudo-element or null of none is required
  @param data data to be set