code: public MatcherController add(Class<?> tableClassType, SubType subType, String pattern, int patternCode) {
          this.addTableClass(tableClassType);
          this.addMatcherPattern(subType, pattern, patternCode);
          return this;
      }
docs: Register a class for table. And registers a pattern for UriMatcher.
  @param tableClassType
  Register a class for table.
  @param subType
  Contents to be registered in the pattern, specify single or multiple. This is used
  in the MIME types. * ITEM : If the URI pattern is for a single row :
  vnd.android.cursor.item/ * DIRECTORY : If the URI pattern is for more than one row
  : vnd.android.cursor.dir/
  @param pattern
  registers a pattern for UriMatcher. Note: Must not contain the name of path here.
  ex) content://com.example.app.provider/table1 : pattern = ""
  content://com.example.app.provider/table1/# : pattern = "#"
  content://com.example.app.provider/table1/dataset2 : pattern = "dataset2"
  @param patternCode
  UriMatcher code is returned
  @return Instance of the MatcherController class.