protected Object[][] getData() {
        ArrayList result = new ArrayList();
        for(Field field : this.model.getClass().getDeclaredFields()){
            if (field.isAnnotationPresent(CRRCSimEditorField.class)){
                try {
                    field.setAccessible(true);
                    result.add(field.get(this.model));
                } catch (IllegalArgumentException ex) {
                    Logger.getLogger(CRRCSimTableModel.class.getName()).log(Level.SEVERE, null, ex);
                } catch (IllegalAccessException ex) {
                    Logger.getLogger(CRRCSimTableModel.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }

        for(Method method : this.model.getClass().getMethods()){
            if(method.isAnnotationPresent(CRRCSimEditorReadOnly.class)){
                try {
                    method.setAccessible(false);
                    result.add(method.invoke(model));
                } catch (IllegalAccessException ex) {
                    Logger.getLogger(CRRCSimTableModel.class.getName()).log(Level.SEVERE, null, ex);
                } catch (IllegalArgumentException ex) {
                    Logger.getLogger(CRRCSimTableModel.class.getName()).log(Level.SEVERE, null, ex);
                } catch (InvocationTargetException ex) {
                    Logger.getLogger(CRRCSimTableModel.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }

        return new Object[][]{result.toArray()};
    }