code: public void put(final String pattern, final V value) throws IllegalStateException {
  
          if (pattern != null) {
              if (keys.containsKey(pattern)) {
                  throw new IllegalStateException("");
              }
              keys.put(pattern, value);
  
              final Pattern p = Pattern.compile(pattern);
  
              patternMap.put(p, value);
          } else {
              nullValue = value;
          }
      }
docs: Adds a new pattern to the map.
  <p>
  Users of this class <em>must</em> check if the pattern has already been added
  by using {@link containsPattern} to avoid IllegalStateException in the event that
  the pattern has already been added to the map.
  
  @param pattern the pattern
  @param value   the value
  @throws IllegalStateException - if the map already contains the specified patter.