code: @Deprecated
    public synchronized Extract createExtract(Extract.TableType type, String namespace, String table) {
      Extract extract = new Extract(this, type, namespace, table);
      while (EXTRACT_SET.contains(extract)) {
        if (Strings.isNullOrEmpty(extract.getExtractId())) {
          extract.setExtractId(DTF.print(new DateTime()));
        } else {
          DateTime extractDateTime = DTF.parseDateTime(extract.getExtractId());
          extract.setExtractId(DTF.print(extractDateTime.plusSeconds(1)));
        }
      }
      EXTRACT_SET.add(extract);
      return extract;
    }
docs: Create a new properly populated {@link Extract} instance.
  
  <p>
  This method should always return a new unique {@link Extract} instance.
  </p>
  
  @param type {@link org.apache.gobblin.source.workunit.Extract.TableType}
  @param namespace namespace of the table this extract belongs to
  @param table name of the table this extract belongs to
  @return a new unique {@link Extract} instance
  
  @Deprecated Use {@link org.apache.gobblin.source.extractor.extract.AbstractSource#createExtract(
  org.apache.gobblin.source.workunit.Extract.TableType, String, String)}