code: public static Pattern controlsStateChangeThroughDegradation()
  	{
  		Pattern p = new Pattern(SequenceEntityReference.class, "upstream ER");
  		p.add(linkedER(true), "upstream ER", "upstream generic ER");
  		p.add(erToPE(), "upstream generic ER", "upstream SPE");
  		p.add(linkToComplex(), "upstream SPE", "upstream PE");
  		p.add(peToControl(), "upstream PE", "Control");
  		p.add(controlToConv(), "Control", "Conversion");
  		p.add(new NOT(participantER()), "Conversion", "upstream ER");
  		p.add(new Empty(new Participant(RelType.OUTPUT)), "Conversion");
  		p.add(new Participant(RelType.INPUT), "Conversion", "input PE");
  		p.add(linkToSpecific(), "input PE", "input SPE");
  		p.add(peToER(), "input SPE", "downstream generic ER");
  		p.add(type(SequenceEntityReference.class), "downstream generic ER");
  		p.add(linkedER(false), "downstream generic ER", "downstream ER");
  		return p;
  	}
docs: Finds cases where proteins affect their degradation.
  @return the pattern