code: @Override
      public String[] getValueNames() {
          if (isInvalid()) {
              throw new IllegalStateException("Session is invalid");
          }
          Set<String> keys = this.attributes.keySet();
          return keys.toArray(new String[keys.size()]);
      }
docs: /*
  @see javax.servlet.http.HttpSession#getValueNames()