public static boolean createContactAccount(int index, String contactID, String label, String nymID, String acctID, String assetID, String serverID, String serverType, String publickey, String memo) {
        System.out.println("createContactAccount contactID:"+contactID);
        boolean status = false;
        AddressBook addressBook = Helpers.getAddressBook();
        if (addressBook == null) {
            System.out.println("createContactAccount - addressBook returns null");
            return false;
        }
        int count = (int) addressBook.GetContactCount();
        for (int i = 0; i < count; i++) {
            Contact contact = addressBook.GetContact(i);
            if (contact == null) {
                continue;
            }
            if (contactID.equals(contact.getContact_id())) {
                System.out.println("createContactAccount - contactID matches, index="+index);
                ContactAcct contactAcct = null;
                if (index == -1) {
                    System.out.println("createContactAccount new obj");
                    Storable storable = otapi.CreateObject(StoredObjectType.STORED_OBJ_CONTACT_ACCT);
                    if (storable != null) {
                        contactAcct = ContactAcct.ot_dynamic_cast(storable);
                    }
                } else {
                    contactAcct = contact.GetContactAcct(index);
                    System.out.println("createContactAccount old obj, contactAcct :"+contactAcct);
                }
                if (contactAcct != null) {
                    contactAcct.setGui_label(label);
                    contactAcct.setMemo(memo);
                    contactAcct.setNym_id(nymID);
                    contactAcct.setAcct_id(acctID);
                    contactAcct.setAsset_type_id(assetID);
                    contactAcct.setPublic_key(publickey);
                    contactAcct.setServer_id(serverID);
                    contactAcct.setServer_type(serverType);
                    contact.AddContactAcct(contactAcct);
                    status = otapi.StoreObject(addressBook, "moneychanger", "gui_contacts.dat");
                    System.out.println("createContactAccount status addressBook otapi.StoreObject:" + status);
                    // Set other values here
                }

                break;
            }
        }
        return status;
    }