code: @Override
      @SuppressWarnings("ReferenceEquality")
      protected boolean evaluateDependencies(final Dependency dependency, final Dependency nextDependency, final Set<Dependency> dependenciesToRemove) {
          Dependency main;
          //CSOFF: InnerAssignment
          if ((main = getMainGemspecDependency(dependency, nextDependency)) != null) {
              if (main == dependency) {
                  mergeDependencies(dependency, nextDependency, dependenciesToRemove);
              } else {
                  mergeDependencies(nextDependency, dependency, dependenciesToRemove);
                  return true; //since we merged into the next dependency - skip forward to the next in mainIterator
              }
          } else if ((main = getMainSwiftDependency(dependency, nextDependency)) != null) {
              if (main == dependency) {
                  mergeDependencies(dependency, nextDependency, dependenciesToRemove);
              } else {
                  mergeDependencies(nextDependency, dependency, dependenciesToRemove);
                  return true; //since we merged into the next dependency - skip forward to the next in mainIterator
              }
          } else if ((main = getMainAndroidDependency(dependency, nextDependency)) != null) {
              if (main == dependency) {
                  mergeDependencies(dependency, nextDependency, dependenciesToRemove);
              } else {
                  mergeDependencies(nextDependency, dependency, dependenciesToRemove);
                  return true; //since we merged into the next dependency - skip forward to the next in mainIterator
              }
          } else if ((main = getMainDotnetDependency(dependency, nextDependency)) != null) {
              if (main == dependency) {
                  mergeDependencies(dependency, nextDependency, dependenciesToRemove);
              } else {
                  mergeDependencies(nextDependency, dependency, dependenciesToRemove);
                  return true; //since we merged into the next dependency - skip forward to the next in mainIterator
              }
          }
          //CSON: InnerAssignment
          return false;
      }
docs: Evaluates the dependencies
  
  @param dependency a dependency to compare
  @param nextDependency a dependency to compare
  @param dependenciesToRemove a set of dependencies that will be removed
  @return true if a dependency is removed; otherwise false