/**
 *
 * Copyright (c) 2006-2017, Speedment, Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); You may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at:
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.speedment.runtime.config.mutator;


import com.speedment.runtime.config.*;

/**
 *
 * @author       Per Minborg
 * @param <DOC>  document type
 */

public interface DocumentMutator<DOC extends Document> {
    
    DOC document();

    void put(String key, Object value);

    static ColumnMutator<Column> of(Column column) {
        return new ColumnMutator<>(column);
    }

    static DbmsMutator<Dbms> of(Dbms column) {
        return new DbmsMutator<>(column);
    }

    static ForeignKeyColumnMutator<ForeignKeyColumn> of(ForeignKeyColumn fkcolumn) {
        return new ForeignKeyColumnMutator<>(fkcolumn);
    }

    static ForeignKeyMutator<ForeignKey> of(ForeignKey fk) {
        return new ForeignKeyMutator<>(fk);
    }

    static IndexColumnMutator<IndexColumn> of(IndexColumn indexColumn) {
        return new IndexColumnMutator<>(indexColumn);
    }

    static IndexMutator<Index> of(Index index) {
        return new IndexMutator<>(index);
    }

    static PrimaryKeyColumnMutator<PrimaryKeyColumn> of(PrimaryKeyColumn pkColumn) {
        return new PrimaryKeyColumnMutator<>(pkColumn);
    }

    static ProjectMutator<Project> of(Project project) {
        return new ProjectMutator<>(project);
    }

    static SchemaMutator<Schema> of(Schema schema) {
        return new SchemaMutator<>(schema);
    }

    static TableMutator<Table> of(Table table) {
        return new TableMutator<>(table);
    }
}
@@ -675,46 +675,518 @@
 r;%0A%0A
-%0Aimport com.speedment.runtime.config.*
+import com.speedment.runtime.config.Column;%0Aimport com.speedment.runtime.config.Dbms;%0Aimport com.speedment.runtime.config.Document;%0Aimport com.speedment.runtime.config.ForeignKey;%0Aimport com.speedment.runtime.config.ForeignKeyColumn;%0Aimport com.speedment.runtime.config.Index;%0Aimport com.speedment.runtime.config.IndexColumn;%0Aimport com.speedment.runtime.config.PrimaryKeyColumn;%0Aimport com.speedment.runtime.config.Project;%0Aimport com.speedment.runtime.config.Schema;%0Aimport com.speedment.runtime.config.Table
 ;%0A%0A/
@@ -1255,13 +1255,12 @@
 ype%0A
+
  */%0A
-%0A
 publ

Fix imports