DfType (@NotNull RelationType relationType) { if (relationType == RelationType.EQ || relationType == RelationType.IS) { DfReferenceType result = this; if (myConstraint.isComparedByEquals()) { result = result.dropLocality(); } if (myNullability == DfaNullability.NULLABLE) { result = result.dropNullability(); } return result; } if (relationType == RelationType.IS_NOT) { DfType negated = tryNegate(); if (negated != null) { return negated; } } return DfTypes.OBJECT_OR_NULL; }