anchor.diff:                                        Kind = kind
                                         // TODO: write stuff into the lockfile and read it here
                                         IsRuntimeDependency = isRuntimeDependency } :: currentGroup.Packages }::otherGroups
  -                    | None -> failwith "no source has been specified."
  +
  +                    match (currentGroup.RemoteUrl, currentGroup.NugetProtocolVersion) with
  +                    | (Some remote, Some protocolVersion) -> handlerNugetDetails remote (Some protocolVersion)
  +                    | (Some remote, None) -> handlerNugetDetails remote (Some NugetProtocolVersion.ProtocolVersion3)
  +                    | (None, _) -> failwith "no source has been specified."
                   | NugetDependency (name, v, frameworkSettings) ->
                       let version,_,isRuntimeDependency,settings = parsePackage v
                       assert (not isRuntimeDependency)
  
positive.code:                     { currentGroup with Options = extractOption currentGroup option }::otherGroups
                  | RepositoryType repoType -> { currentGroup with RepositoryType = Some repoType }::otherGroups
                  | NugetPackage details ->
                      match currentGroup.RemoteUrl with
                      | Some remote -> 
                          let package,kind,isRuntimeDependency,settings = parsePackage details
                          let parts' = package.Split ' '
                          let version = 
  
negative.code:         GroupName : GroupName
          RepositoryType : string option
          RemoteUrl :string option
          NugetProtocolVersion: NugetProtocolVersion option
          Packages : ResolvedPackage list
          SourceFiles : ResolvedSourceFile list
          LastWasPackage : bool
  