private AbstractType<?> getTypeAndRemove( Map<ColumnIdentifier, AbstractType> columns, ColumnIdentifier t) throws InvalidRequestException { AbstractType type = columns.get(t); if (type == null) throw new InvalidRequestException( String.format("Unknown definition %s referenced in PRIMARY KEY", t)); if (type instanceof CollectionType) throw new InvalidRequestException( String.format("Invalid collection type for PRIMARY KEY component %s", t)); columns.remove(t); Boolean isReversed = definedOrdering.get(t); return isReversed != null && isReversed ? ReversedType.getInstance(type) : type; }