private Item addType(final Item item) {
        ++typeCount;
        Item result = new Item(typeCount, key);
        put(result);
        if (typeTable == null) {
            typeTable = new Item[16];
        }
        if (typeCount == typeTable.length) {
            Item[] newTable = new Item[2 * typeTable.length];
            System.arraycopy(typeTable, 0, newTable, 0, typeTable.length);
            typeTable = newTable;
        }
        typeTable[typeCount] = result;
        return result;
    }
private Item addType(final Item item) {
        ++typeCount;
        Item result = new Item(typeCount, key);
        put(result);
        if (typeTable == null) {
            typeTable = new Item[16];
        }
        if (typeCount == typeTable.length) {
            Item[] newTable = new Item[2 * typeTable.length];
            System.arraycopy(typeTable, 0, newTable, 0, typeTable.length);
            typeTable = newTable;
        }
        typeTable[typeCount] = result;
        return result;
    }
private Item addType ( final Item item ) { ++ typeCount ; Item result = new Item ( typeCount , key ) ; put ( result ) ; if ( typeTable == null ) { typeTable = new Item [ 16 ] ; } if ( typeCount == typeTable . length ) { Item [ ] newTable = new Item [ 2 * typeTable . length ] ; System . arraycopy ( typeTable , 0 , newTable , 0 , typeTable . length ) ; typeTable = newTable ; } typeTable [ typeCount ] = result ; return result ; }
Adds the given Item to {@link #typeTable}.

@param item
the value to be added to the type table.
@return the added Item, which a new Item instance with the same value as
the given Item.
Adds the given Item to { @link #typeTable } .