class PaymentMethodDatabaseAdapter implements DatabaseAdapter<PaymentMethod> {

    @NonNull
    @Override
    public PaymentMethod build(@NonNull PaymentMethod paymentMethod, int primaryKey,
                               @NonNull UUID uuid, @NonNull DatabaseOperationMetadata databaseOperationMetadata) {
        return new PaymentMethodBuilderFactory()
                .setId(primaryKey)
                .setUuid(uuid)
                .setMethod(paymentMethod.getMethod())
                .setSyncState(mSyncStateAdapter.get(paymentMethod.getSyncState(), databaseOperationMetadata))
                .setCustomOrderId(paymentMethod.getCustomOrderId())
                .setReimbursable(paymentMethod.isReimbursable())
                .build();
    }

    public  PaymentMethodDatabaseAdapter();
    public  PaymentMethodDatabaseAdapter(@NonNull SyncStateAdapter syncStateAdapter);

}