// Handle creation options
  @Override
  public void handleCreationDict(KrollDict options) {
    super.handleCreationDict(options);

    // The identifier is what Branch will use to de-dupe the content across many different Universal
    // Objects
    if (options.containsKey("canonicalIdentifier")) {
      Log.d(LCAT, "setCanonicalIdentifier");
      branchUniversalObject.setCanonicalIdentifier(options.getString("canonicalIdentifier"));
    }

    // This is where you define the open graph structure and how the object will appear on Facebook
    // or in a deepview
    if (options.containsKey("title")) {
      Log.d(LCAT, "setTitle");
      branchUniversalObject.setTitle(options.getString("title"));
    }
    if (options.containsKey("contentDescription")) {
      Log.d(LCAT, "setContentDescription");
      branchUniversalObject.setContentDescription(options.getString("contentDescription"));
    }
    if (options.containsKey("contentImageUrl")) {
      Log.d(LCAT, "setContentImageUrl");
      branchUniversalObject.setContentImageUrl(options.getString("contentImageUrl"));
    }

    // You use this to specify whether this content can be discovered publicly - default is public
    if (options.containsKey("contentIndexingMode")) {
      Log.d(LCAT, "setContentIndexingMode");
      if (options.getString("contentIndexingMode").equals("private")) {
        Log.d(LCAT, "private");
        branchUniversalObject.setContentIndexingMode(
            BranchUniversalObject.CONTENT_INDEX_MODE.PRIVATE);
      } else {
        Log.d(LCAT, "public");
        branchUniversalObject.setContentIndexingMode(
            BranchUniversalObject.CONTENT_INDEX_MODE.PUBLIC);
      }
    }

    // Here is where you can add custom keys/values to the deep link data
    if (options.containsKey("contentMetadata")) {
      Log.d(LCAT, "addContentMetadata");
      Object contentMetadata = options.get("contentMetadata");
      Map<String, String> hashMap = (Map<String, String>) contentMetadata;

      for (Iterator iterator = hashMap.keySet().iterator(); iterator.hasNext(); ) {
        String key = (String) iterator.next();
        branchUniversalObject.addContentMetadata(key, hashMap.get(key));
      }
    }
  }
 @Kroll.setProperty
 @Kroll.method
 public void setTitle(String title) {
   Log.d(LCAT, "setTitle");
   branchUniversalObject.setTitle(title);
 }