code: public void addOptionalExcludedName(String name) {
          Object obj = lookupQualifiedName(scope, name);
          if(obj != null && obj != UniqueTag.NOT_FOUND) {
              if (!(obj instanceof Scriptable)) {
                  throw new IllegalArgumentException(
                          "Object for excluded name " + name +
                          " is not a Scriptable, it is " +
                          obj.getClass().getName());
              }
              table.put(obj, name);
          }
      }
docs: Adds a qualified name to the list of object to be excluded from
  serialization. Names excluded from serialization are looked up
  in the new scope and replaced upon deserialization.
  @param name a fully qualified name (of the form "a.b.c", where
  "a" must be a property of the top-level object). The object
  need not exist, in which case the name is ignored.
  @throws IllegalArgumentException if the object is not a
  {@link Scriptable}.