001    package com.hammurapi.flow.runtime;
002    
003    /**
004     * Implementations of this interface are leveraged by
005     * property sets to implement smart forward-only change semantics.
006     * @author Pavel Vlasov
007     *
008     * @param <T>
009     */
010    public interface Versionable<T> {
011    
012            /**
013             * Creates new version of the object.
014             * @return New version.
015             */
016            T createVersion();
017    }