private final boolean relatedMoves(Move m1,Move m2){
  if ((m1.from == m1.to) || (m2.from == m2.to))   return false;
  if ((m1.to == m2.from) || (m1.from == m2.to) || ((BitBoard.squaresBetween[m2.from][m2.to] & (1L << m1.from)) != 0))   return true;
  return false;
}

private final boolean relatedMoves ( Move m1 , Move m2 ) { if ( ( m1 . from == m1 . to ) || ( m2 . from == m2 . to ) ) return false ; if ( ( m1 . to == m2 . from ) || ( m1 . from == m2 . to ) || ( ( BitBoard . squaresBetween [ m2 . from ] [ m2 . to ] & ( 1L << m1 . from ) ) != 0 ) ) return true ; return false ; }
return true if move m2 was made possible by move m1 .
