code: @Override
      public Map<String, Map<String, Map<String, Class<?>>>> getDependentObjects() {
  
          return new HashMap<String, Map<String, Map<String, Class<?>>>>() {{
              put("PaymentType", new HashMap<String, Map<String, Class<?>>>() {{
                          put("CARD", new HashMap<String, Class<?>>() {{
                                      put("PaymentDetails", PayInPaymentDetailsCard.class);
                                  }}
                          );
                          put("PREAUTHORIZED", new HashMap<String, Class<?>>() {{
                                      put("PaymentDetails", PayInPaymentDetailsPreAuthorized.class);
                                  }}
                          );
                          put("BANK_WIRE", new HashMap<String, Class<?>>() {{
                                      put("PaymentDetails", PayInPaymentDetailsBankWire.class);
                                  }}
                          );
                          put("DIRECT_DEBIT", new HashMap<String, Class<?>>() {{
                                      put("PaymentDetails", PayInPaymentDetailsDirectDebit.class);
                                  }}
                          );
                          put("PAYPAL", new HashMap<String, Class<?>>() {{
                                      put("PaymentDetails", PayInPaymentDetailsPayPal.class);
                                  }}
                          );
                          // ...and more in future...
                      }}
              );
              put("ExecutionType", new HashMap<String, Map<String, Class<?>>>() {{
                          put("WEB", new HashMap<String, Class<?>>() {{
                                      put("ExecutionDetails", PayInExecutionDetailsWeb.class);
                                  }}
                          );
                          put("DIRECT", new HashMap<String, Class<?>>() {{
                                      put("ExecutionDetails", PayInExecutionDetailsDirect.class);
                                  }}
                          );
                          put("EXTERNAL_INSTRUCTION", new HashMap<String, Class<?>>() {{
                                      put("ExecutionDetails", PayInExecutionDetailsBankingAlias.class);
                                  }}
                          );
                          // ...and more in future...
                      }}
              );
          }};
      }
docs: Gets the structure that maps which property depends on other property.
  
  @return