code: @Override
      @SuppressWarnings("unchecked")
      protected void restoreState(Object[] objects) {
          if (objects != null && objects.length != 0) {
              variable = (Variable) objects[0];
              constants = (List<Variable>) objects[1];
              lastObjectHash = (Map<String, Object>) objects[2];
          }
      }
docs: This method is used to restore from the persisted state