code: public static Pattern inComplexWith()
  	{
  		Pattern p = new Pattern(SequenceEntityReference.class, "Protein 1");
  		p.add(linkedER(true), "Protein 1", "generic Protein 1");
  		p.add(erToPE(), "generic Protein 1", "SPE1");
  		p.add(linkToComplex(), "SPE1", "PE1");
  		p.add(new PathConstraint("PhysicalEntity/componentOf"), "PE1", "Complex");
  		p.add(new PathConstraint("Complex/component"), "Complex", "PE2");
  		p.add(equal(false), "PE1", "PE2");
  		p.add(linkToSpecific(), "PE2", "SPE2");
  		p.add(peToER(), "SPE2", "generic Protein 2");
  		p.add(linkedER(false), "generic Protein 2", "Protein 2");
  		p.add(equal(false), "Protein 1", "Protein 2");
  		p.add(new Type(SequenceEntityReference.class), "Protein 2");
  		return p;
  	}
docs: Two proteins have states that are members of the same complex. Handles nested complexes and
  homologies. Also guarantees that relationship to the complex is through different direct
  complex members.
  @return pattern