class ExcelFieldService {

    public static Iterator<Field> getFields(final Class clazz) {
        final Iterator<Field> fields;

        if (fieldsCache.get(clazz) != null) {
            final List<Field> fieldsList = fieldsCache.get(clazz);
            fields = fieldsList.iterator();
        } else {
            final ClassFields classFields = new ClassFieldsExcelExport(new ClassFieldsDefault(clazz, true));
            fields = classFields.getFields();

            fieldsCache.put(clazz, Lists.newArrayList(classFields.getFields()));
        }

        return fields;
    }

    private  ExcelFieldService();

}