base/common/src/main/com/thesett/common/util/doublemaps/SymbolTableImpl.java
public E remove(K primaryKey, L secondaryKey)
    {
        CompositeKey<K> compositeKey = new CompositeKey<K>(parentSequenceKey, primaryKey);

        // Check that the symbol exists in the table, and return null if not.
        if (!hashFunction.containsKey(compositeKey))
        {
            return null;
        }

        // Check that the field for the secondary key exists, and return null if not.
        CircularArrayMap<E> field = fieldMap.get(secondaryKey);

        if (field == null)
        {
            return null;
        }

        // Calculate the symbols index in the table, and use it to fetch remove a value for the field if one exists.
        E oldValue = field.remove(hashFunction.apply(compositeKey));

        // Check if the fields size has been reduced to zero, in which case purge that whole field from the symbol
        // table.
        if (field.isEmpty())
        {
            fieldMap.remove(secondaryKey);
        }

        // Check if an item was really removed from the table, and decrement the size count if so.
        if (oldValue != null)
        {
            count--;
        }

        return oldValue;
    }
public E remove(K primaryKey, L secondaryKey)
    {
        CompositeKey<K> compositeKey = new CompositeKey<K>(parentSequenceKey, primaryKey);

        // Check that the symbol exists in the table, and return null if not.
        if (!hashFunction.containsKey(compositeKey))
        {
            return null;
        }

        // Check that the field for the secondary key exists, and return null if not.
        CircularArrayMap<E> field = fieldMap.get(secondaryKey);

        if (field == null)
        {
            return null;
        }

        // Calculate the symbols index in the table, and use it to fetch remove a value for the field if one exists.
        E oldValue = field.remove(hashFunction.apply(compositeKey));

        // Check if the fields size has been reduced to zero, in which case purge that whole field from the symbol
        // table.
        if (field.isEmpty())
        {
            fieldMap.remove(secondaryKey);
        }

        // Check if an item was really removed from the table, and decrement the size count if so.
        if (oldValue != null)
        {
            count--;
        }

        return oldValue;
    }
public E remove ( K primaryKey , L secondaryKey ) { CompositeKey < K > compositeKey = new CompositeKey < K > ( parentSequenceKey , primaryKey ) ; // Check that the symbol exists in the table, and return null if not. if ( ! hashFunction . containsKey ( compositeKey ) ) { return null ; } // Check that the field for the secondary key exists, and return null if not. CircularArrayMap < E > field = fieldMap . get ( secondaryKey ) ; if ( field == null ) { return null ; } // Calculate the symbols index in the table, and use it to fetch remove a value for the field if one exists. E oldValue = field . remove ( hashFunction . apply ( compositeKey ) ) ; // Check if the fields size has been reduced to zero, in which case purge that whole field from the symbol // table. if ( field . isEmpty ( ) ) { fieldMap . remove ( secondaryKey ) ; } // Check if an item was really removed from the table, and decrement the size count if so. if ( oldValue != null ) { count -- ; } return oldValue ; }
{@inheritDoc}
{