### Question:
NonStandardReasoningServices { public static <E extends OWLEntity> Node getLeastCommonSubsumer(AbstractReasonerComponent reasoner, Node n1, Node n2, EntityType<E> entityType) { if(n1.equals(n2)) { return n1; } E lcs = getLeastCommonSubsumer(reasoner, OwlApiJenaUtils.asOWLEntity(n1, entityType), OwlApiJenaUtils.asOWLEntity(n2, entityType)); if(lcs != null) { return OwlApiJenaUtils.asNode(lcs); } return null; }  static Node getLeastCommonSubsumer(AbstractReasonerComponent reasoner, Node n1, Node n2,
																 	EntityType<E> entityType); @SuppressWarnings("unchecked") static E getLeastCommonSubsumer(AbstractReasonerComponent reasoner, E e1, E e2);  }### Answer:
@Test public void getLeastCommonSubsumer() throws Exception { OWLProperty lcs = NonStandardReasoningServices.getLeastCommonSubsumer( reasoner, df.getOWLObjectProperty("s3", pm), df.getOWLObjectProperty("s5", pm)); assertTrue(lcs.equals(df.getOWLObjectProperty("p1", pm))); lcs = NonStandardReasoningServices.getLeastCommonSubsumer( reasoner, df.getOWLObjectProperty("s3", pm), df.getOWLObjectProperty("s4", pm)); assertTrue(lcs.equals(df.getOWLObjectProperty("s3", pm))); lcs = NonStandardReasoningServices.getLeastCommonSubsumer( reasoner, df.getOWLObjectProperty("s1", pm), df.getOWLObjectProperty("s2", pm)); assertTrue(lcs.equals(df.getOWLObjectProperty("p1", pm))); lcs = NonStandardReasoningServices.getLeastCommonSubsumer( reasoner, df.getOWLObjectProperty("s3", pm), df.getOWLObjectProperty("p2", pm)); assertTrue(lcs == null); }