code: public static TypeCompatibilityObligation newInstance(PExp exp,
  			PType etype, PType atype, IPOContextStack ctxt,
  			IPogAssistantFactory assistantFactory) throws AnalysisException
  	{
  
  		TypeCompatibilityObligation sto = new TypeCompatibilityObligation(exp, etype, atype, ctxt, assistantFactory);
  		if (sto.getValueTree() != null)
  		{
  			return sto;
  		}
  
  		return null;
  	}
docs: Factory Method since we need to return null STOs (which should be discarded
  
  @param exp
  The expression to be checked
  @param etype
  The expected type
  @param atype
  The actual type
  @param ctxt
  Context Information
  @param assistantFactory
  @return
  @throws AnalysisException