public static boolean areEqual(Object o1, Object o2) {
        return o1 instanceof Number && o2 instanceof Number ? areNumericEqual((Number) o1, (Number) o2) : Objects.equals(o1, o2);
    }
@Test
    public void areEqualWithObjects() {
        assertThat(OperatorUtils.areEqual(null, null)).isTrue();
        assertThat(OperatorUtils.areEqual("test", "test")).isTrue();

        assertThat(OperatorUtils.areEqual(new Object(), new Object())).isFalse();
        assertThat(OperatorUtils.areEqual(null, "test")).isFalse();
        assertThat(OperatorUtils.areEqual("test", null)).isFalse();
        assertThat(OperatorUtils.areEqual(new Object(), null)).isFalse();
        assertThat(OperatorUtils.areEqual(null, new Object())).isFalse();
        assertThat(OperatorUtils.areEqual(new Object(), "test")).isFalse();
        assertThat(OperatorUtils.areEqual("test", new Object())).isFalse();
    }