Object getFromSignalOrDefault(String signalName, String paramName, Object defaultValue) {
    try {
      return getFromSignal(signalName, paramName);
    } catch (Exception e) {
      return defaultValue;
    }
  }
@Test
  public void testGetFromSignalOrDefault() {
    SignalInitiator initiator = Mockito.mock(SignalInitiator.class);
    when(instanceWrapper.getInitiator()).thenReturn(initiator);
    when(initiator.getType()).thenReturn(Initiator.Type.SIGNAL);
    when(initiator.getParams())
        .thenReturn(
            twoItemMap(
                "signal-a",
                StringMapParameter.builder()
                    .evaluatedResult(singletonMap("param1", "value1"))
                    .build(),
                "signal-b",
                MapParameter.builder().evaluatedResult(singletonMap("param2", 123L)).build()));
    assertEquals("value1", paramExtension.getFromSignalOrDefault("signal-a", "param1", "value2"));
    assertEquals(
        "defaultValue",
        paramExtension.getFromSignalOrDefault("signal-a", "nonExistingParam", "defaultValue"));
    assertEquals(
        "defaultValue",
        paramExtension.getFromSignalOrDefault(
            "signal-non-existing", "nonExistingParam", "defaultValue"));
  }