code: @Override
      public Map<String, Map<String, Map<String, Class<?>>>> getDependentObjects() {
  
          return new HashMap<String, Map<String, Map<String, Class<?>>>>() {{
              put("Type", new HashMap<String, Map<String, Class<?>>>() {{
                          put("IBAN", new HashMap<String, Class<?>>() {{
                                      put("Details", BankAccountDetailsIBAN.class);
                                  }}
                          );
                          put("GB", new HashMap<String, Class<?>>() {{
                                      put("Details", BankAccountDetailsGB.class);
                                  }}
                          );
                          put("US", new HashMap<String, Class<?>>() {{
                                      put("Details", BankAccountDetailsUS.class);
                                  }}
                          );
                          put("CA", new HashMap<String, Class<?>>() {{
                                      put("Details", BankAccountDetailsCA.class);
                                  }}
                          );
                          put("OTHER", new HashMap<String, Class<?>>() {{
                                      put("Details", BankAccountDetailsOTHER.class);
                                  }}
                          );
                          // ...and more in future...
                      }}
              );
          }};
      }
docs: Gets the structure that maps which property depends on other property.
  
  @return