EntryImpl implements ISchedulerEntry { @Override public void save() throws EntryStorageAccessException { storage.save(this); this.isSavedRemotely = true; } EntryImpl(
            final IObject state,
            final ISchedulingStrategy strategy,
            final ISchedulerEntryStorage storage,
            final ISchedulerAction action,
            final boolean isSavedRemotely); static EntryImpl newEntry(final IObject args, final ISchedulerEntryStorage storage); static EntryImpl restoreEntry(final IObject savedState, final ISchedulerEntryStorage storage); @Override IObject getState(); @Override void save(); @Override void cancel(); @Override void scheduleNext(final long time); @Override long getLastTime(); @Override String getId(); @Override void suspend(); @Override void awake(); @Override boolean isAwake(); @Override void pause(); @Override void unpause();  }
@Test public void Should_saveItself() throws Exception { IObject state = IOC.resolve(Keys.getOrAdd("info.smart_tools.smartactors.iobject.iobject.IObject"), "{'entryId':'trust-methis-isa-guid'}".replace('\'','"')); ISchedulerEntry entry = new EntryImpl(state, strategy, storage, action, false); entry.save(); verify(storage).save(same(entry)); }