code: private void initialize(Object input, Object context) throws JsonLdError {
          if (input instanceof List || input instanceof Map) {
              this.value = JsonLdUtils.clone(input);
          }
          // TODO: string/IO input
          this.context = new Context(opts);
          if (context != null) {
              this.context = this.context.parse(context);
          }
      }
docs: Initializes this object by cloning the input object using
  {@link JsonLdUtils#clone(Object)}, and by parsing the context using
  {@link Context#parse(Object)}.
  
  @param input
  The initial object, which is to be cloned and used in
  operations.
  @param context
  The context object, which is to be parsed and used in
  operations.
  @throws JsonLdError
  If there was an error cloning the object, or in parsing the
  context.