public SabresQuery<T> whereEqualTo(String key,Object value){
  SabresValue sabresValue=SabresValue.create(value);
  if (sabresValue instanceof ListValue) {
    innerSelect=new SelectCommand(SabresList.getTableName(name,key),Collections.singletonList(SabresList.getParentIdKey()));
    innerSelect.as(SabresList.getParentIdKey(),SabresObject.getObjectIdKey());
    innerSelect.where(Where.equalTo(SabresList.getValueKey(),sabresValue));
    innerSelect.withoutSemicolon();
  }
 else {
    addWhere(key,Where.equalTo(key,sabresValue));
  }
  return this;
}

public SabresQuery < T > whereEqualTo ( String key , Object value ) { SabresValue sabresValue = SabresValue . create ( value ) ; if ( sabresValue instanceof ListValue ) { innerSelect = new SelectCommand ( SabresList . getTableName ( name , key ) , Collections . singletonList ( SabresList . getParentIdKey ( ) ) ) ; innerSelect . as ( SabresList . getParentIdKey ( ) , SabresObject . getObjectIdKey ( ) ) ; innerSelect . where ( Where . equalTo ( SabresList . getValueKey ( ) , sabresValue ) ) ; innerSelect . withoutSemicolon ( ) ; } else { addWhere ( key , Where . equalTo ( key , sabresValue ) ) ; } return this ; }
add a constraint to the query that requires a particular key ' s value to be equal to the provided value .
