/**
* Gets the source code corresponding to the given node
*/
private String getSourceCode(Node node) {
StringBuilder sb = new StringBuilder();
DiagnosticSource source = new DiagnosticSource(gen().getFileObject(), Log.instance(gen().getContext()));
int startLine = node.getToken().getLine();
int endLine = node.getEndToken().getLine();
for (int lineNumber = startLine; lineNumber <= endLine; lineNumber++) {
int startPos = gen().getMap().getPosition(lineNumber, 1);
String line = source.getLine(startPos);
if (lineNumber == endLine) {
line = line.substring(0, node.getEndToken().getCharPositionInLine() + node.getEndToken().getText().length());
}
if (lineNumber == startLine) {
line = line.substring(node.getToken().getCharPositionInLine());