public static String[] fieldNamesOf(final AbstractDescribedSObjectBase object) {
        if (object == null) {
            return NONE;
        }

        final SObjectDescription description = object.description();
        final List<SObjectField> fields = description.getFields();

        return fields.stream().map(SObjectField::getName).toArray(String[]::new);
    }
@Test
    public void shouldGatherAllFieldNames() {
        assertThat(QueryHelper.fieldNamesOf(new Account())).contains("Id", "Name", "ShippingCity");
    }