Code review: abstract out isScmEndpoint() method