code: public UnfilledDependency replaceSubject(IndexedPredicate newSubject,
        HeadedSyntacticCategory newSubjectSyntax) {
      return new UnfilledDependency(newSubject, newSubjectSyntax, -1, subjectArgIndex,
          object, objectArgumentIndex);
    }
docs: Returns a new UnfilledDependency whose subject is equal to
  {@code newSubject} and whose object is equal to {@code this}' object.
  
  @param newSubject
  @param newSubjectSyntax
  @return