@Override
    public boolean equals(final Object o) {
        boolean res = this == o;
        if (!res && o instanceof GenericArrayType) {
            final Type thatComponentType = ((GenericArrayType) o).getGenericComponentType();
            res = componentType != null ? componentType.equals(thatComponentType) : thatComponentType == null;
        }
        return res;
    }