code: public <E> List<Object> getForeignKeysFromJoinTable(String inverseJoinColumnName, List<Column> columns,
              Class columnJavaType)
      {
          List<Object> foreignKeys = new ArrayList<Object>();
  
          if (columns == null || columns.isEmpty())
          {
              return foreignKeys;
          }
  
          for (Column c : columns)
          {
              try
              {
                  // Thrift Column name
                  String thriftColumnName = PropertyAccessorFactory.STRING.fromBytes(String.class, c.getName());
  
                  // Thrift Column Value
                  byte[] thriftColumnValue = c.getValue();
                  if (null == thriftColumnValue)
                  {
                      continue;
                  }
  
                  if (thriftColumnName != null && thriftColumnName.startsWith(inverseJoinColumnName))
                  {
                      Object val = PropertyAccessorHelper.getObject(columnJavaType, thriftColumnValue);
                      foreignKeys.add(val);
                  }
              }
              catch (PropertyAccessException e)
              {
                  continue;
              }
  
          }
          return foreignKeys;
      }
docs: Gets the foreign keys from join table.
  
  @param <E>
  the element type
  @param inverseJoinColumnName
  the inverse join column name
  @param columns
  the columns
  @param columnJavaType
  the column java type
  @return the foreign keys from join table